• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Named Range VBA middels inputbox

  • Onderwerp starter Onderwerp starter Eggie
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Eggie

Gebruiker
Lid geworden
25 jan 2007
Berichten
74
Hallo,

ik ben bezig met een vba scipt dat er deels als volgt uitziet:

Code:
Sub test ()

Dim CountryRange As Range

Set CountryRange = Application.InputBox(prompt:="Enter the Country Range", Type:=8)
ThisWorkbook.Names.Add Name:="CountryRange", RefersTo:=CountryRange

Waar het om gaat is dat ik graag wil dat de gebruiker een range kan selecteren (single cel) en dat deze vervolgens verwerkt wordt in een formule. Echter wordt de range die de gebruiker nu selecteert in de named range automatisch vastgezet waardoor ik de formule niet door kan kopieren en de named range verwijzing ook doorgekopieerd wordt naar onderliggende regels.

Ik hoop dat jullie begrijpen wat ik bedoel. Als de gebruiker in de inputbox Range A1 selecteert wordt dit in de named range verwerkt als $A$1 ipv A1, waardoor ik de formule niet kan doorkopieren. Weet iemand hoe ik dit kan verhelpen?

Alvast bedankt voor jullie hulp!

Grt. Eggie
 
Code:
Sub test()
    ThisWorkbook.Names.Add "CountryRange", "=" & ActiveSheet.Name & "!" & Range(InputBox("Enter the Country Range")).Address
End Sub
 
Hallo snb,

bedankt voor je snelle reactie, echter bestaat nog steeds het probleem dat stel dat je range A1 intypt deze in de named range als $A$1 in plaats van A1 komt te staan.

Misschien nog enig idee hoe dit op te lossen? Alvast bedankt!

Grt
 
Eggie, WAT heb je aan een 'named range' als deze niet vast staat op 1 bepaald bereik??? DAT is nou juist de bedoeling van zo'n 'named range'. Je geeft een bereik een naam om in formules dat vaste gebiedje eenvoudig te kunnen aanduiden. Doorslepen is dus nooit mogelijk met een naam....

Groet, Leo
 
....zit je niet eerder aan zo'n soort constructie te denken???
Code:
Sub test2()
Dim CountryRange As Range

    Set CountryRange = Application.InputBox(prompt:="Enter the Country Range", Type:=8)
    ActiveCell.FormulaLocal = "=SUM(" & CountryRange.Address(False, False) & ")"

End Sub

Groet, Leo
 
Leo,

bedankt, de named range was inderdaad niet de juiste toepassing. Ik zocht een mogelijkheid om een range uit een inputbox in vba in een formule te zetten, en jou voorgestelde constructie werkt uitstekend!

Bedankt nogmaals, grt Eggie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan