[Excel 2000] Range omzetten naar string

Pagina: 1
Acties:

  • VROEM!
  • Registratie: Februari 2000
  • Laatst online: 18-05-2025

VROEM!

broembroem!

Topicstarter
Ik heb een sheet waarin ik een listbox gebruik. De listbox moet ik vullen, dat doe ik met ListFillRange. Nu wil ik die ListFillRange eigenschap met VBA op de een of andere manier invullen.

Als ik gewoon Runlist.ListFillRange = "Sheetname!B2:B10" gebruik gaat het goed. Ik wil echter niet altijd kolom B hebben en ook niet altijd rijen nummers 2 t/m 10.

Ik heb die range op een aantal manieren proberen in te vullen, waaronder ook met "R1C4:R10C4" notatie, of met ActiveSheet.ActiveSelection, of met de naam van de range, maar dat lijkt allemaal niet te werken. Ik vrees dat die ListFillRange eigenschap op de een of andere manier alleen maar een text string slikt die intern geconverteerd wordt naar de betreffende range.

Dus nu naar mijn workaround: Ik ben inmiddels zo ver dat ik de range die ik in die ListFillRange wil hebben kan definieren en ook selecteren. Nu wil ik de geselecteerde range converteren naar een string. Dus ik selecteer in sheet "Logfile" cellen A1 t/m A10. Daaruit moet dan een string getrokken worden met de inhoud: "Logfile!A1:A10".
In een niet-zo-theoretisch geval heb ik trouwens meer dan 26 kolommen, dus ranges als "CY1:CY103" moeten het ook doen.

Hoe krijg ik dit voor elkaar?

ieeeepppppp :P


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:07
Kijk eens naar de functie Address (in NL waarsch. ADRES)

Verwijderd

zoals onkl zegt, de eigenschap address (zoals bv in ... = selection.address) kan je gebruiken. de vba-opdrachten werden enkel in excel 5.0 (de eerste versie uitgerust met vba) vertaald naar de lokale taal. de excelfunctie (ADRES idd in nl) is ook bruikbaar, maar lijkt in de context van TS een omweg te zijn.

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:07
Oeps, sorry, VBA is in het nederlands gewoon hetzelfde natuurlijk :P
En dan ook nog een eigenschap een functie noemen. Vreemd dat ik zoveel verwarring creeër eigenlijk :+

Je zal overigens nog een beetje moeten prutsen met allerlei stingcombinaties, dus gebruik je Debug.print om te zien wat VBA brouwt en als je listbox op diverse PC's moet draaien, controleer dan of je oplossing gevoelig is voor je regional settings.

[ Voor 42% gewijzigd door onkl op 06-02-2007 16:24 ]


  • VROEM!
  • Registratie: Februari 2000
  • Laatst online: 18-05-2025

VROEM!

broembroem!

Topicstarter
Ik ben me nu aan het inlezen over de eigenschap address :) Weten jullie trouwens goede boeken over wat geavanceerdere Excel (met VBA) onderwerpen? Ik heb hier eigenlijk alleen twee vrij "simpele" boeken uit mijn studie over Visual Basic in het algemeen. Maar ik wil eigenlijk een leerboek "Visual Basic for Applications" en dan met name VBA in Excel hebben :)

ieeeepppppp :P


  • VROEM!
  • Registratie: Februari 2000
  • Laatst online: 18-05-2025

VROEM!

broembroem!

Topicstarter
Ik heb hem ik heb hem ik heb hem :) :) :) 8-)

Er was nog wel een truukje nodig om de externe sheet erbij te krijgen, de eigenschap Address neemt die namelijk niet mee |:(
Dim x as string
x = "Paramlist!" & Selection.Address
Sheets("Commandos").ParamList.ListFillRange = x

ieeeepppppp :P


  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 02-06 20:28

CoRrRan

Don't Panic!!!

VROEM! schreef op woensdag 07 februari 2007 @ 08:09:
Ik ben me nu aan het inlezen over de eigenschap address :) Weten jullie trouwens goede boeken over wat geavanceerdere Excel (met VBA) onderwerpen? Ik heb hier eigenlijk alleen twee vrij "simpele" boeken uit mijn studie over Visual Basic in het algemeen. Maar ik wil eigenlijk een leerboek "Visual Basic for Applications" en dan met name VBA in Excel hebben :)
Boeken van deze gozer: http://j-walk.com/ss/
Voornamelijk deze: http://j-walk.com/ss/books/xlbook25.htm

Heeft mij heel veel geholpen met het werken met VBA binnen Excel.

-- == Alta Alatis Patent == --

Pagina: 1