Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: String met variabele lengte een vaste lengte geven  (gelezen 2652 keer)

0 leden en 1 gast bekijken dit topic.

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
String met variabele lengte een vaste lengte geven
« Gepost op: 09 maart 2007, 17:29:51 »
Met welke functie kan ik dit klaar spelen in vba?

Sub test()
Dim sNaam As String * 15


sNaam = "donald" & "a"

MsgBox sNaam
End Sub

Ik verwacht dat de letter a pas op positie 16 verschijnt. Het resultaat is echter anders het komt vlak achter mijn naam.

Hoe kan ik dit oplossen
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: String met variabele lengte een vaste lengte geven
« Reactie #1 Gepost op: 09 maart 2007, 19:00:59 »
Cladon, gewoon met de functie Format...Sub Test()
Dim sNaam, sNaamBewerkt As String

    sNaam = "Donald"
    sNaamBewerkt = Format(Left(sNaam, 15), "!@@@@@@@@@@@@@@@") & "a"

End Sub
De '@' staan als verplichte ingave (in dit geval een spatie). Het zijn totaal 15x '@' en deze wordt vooraf gegaan door een uitroepteken. Die zorgt ervoor dat de tekst vanaf links wordt uitgelijnd (zonder uitroepteken is de uitlijning default rechts).

Eventueel kan je 't ook oplossen met de worksheet-functie 'Rept'. Aanroepen in VBA doe je dmv dezesNaamBewerkt = sNaam & Application.WorksheetFunction.Rept(" ", 15 - Len(Left(sNaam, 15))) & "a"
De 'Left' in de code is er, om er voor te zorgen dat een naam die langer is dan 15 niet voor fouten zorgt! ;)

Groet, Leo
______________________________

Groet, Leo

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re: String met variabele lengte een vaste lengte geven
« Reactie #2 Gepost op: 10 maart 2007, 00:35:14 »
Bedankt Redhead. Heb zelf al een hele tijd naar voorbeelden zitten zoeken rond het gebruik van format.

In de helpfunctie tref ik allen maar de klassieke voorbeelden aan rond getallen en datums dus een andere vraag is dat heb je ergens een referentie met voorbeelden rond het gebruik van format.

Groetjes
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: String met variabele lengte een vaste lengte geven
« Reactie #3 Gepost op: 10 maart 2007, 10:32:22 »
Cladon, blij dat ik je heb kunnen helpen! Maar voor wat betreft...
Citaat
een referentie met voorbeelden rond het gebruik van format
..moet ik je teleurstellen. Ik heb ooit in een Excelboek over de 'placeholders' gelezen en dat dus onthouden. Ik kan je dus niets aanleveren.
Wat ik zelf het leuke van de functie Format vind, is dat je er lekker mee kunt experimenteren. Zo kan ik zelf ook nog best een poosje zitten 'rommelen' om iets goed voor elkaar te krijgen (maar vind dat dan ook reuze leuk om te doen!!!).
Succes met 'mee rommelen'. En als je vragen hebt, stel ze gerust!  :)

Groet, Leo
______________________________

Groet, Leo

 


www.combell.com