Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

excel vba userform

Pagina: 1
Acties:

Verwijderd

Topicstarter
goedendag,

ik zit met een probleem.
ik moet in excel vba een userform maken. nou dat is geen probleem.
nu komt het, alles wat ik invoer in 1 textbox moet worden afgebroken en elk cijfer(wat ik invoerde) moet in een andere specifieke cell komen als ik de commandbutton bereken druk.
weet iemand hoe ik dit moet doen?

bijvoorbaat dank
meyndert makkink

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 20:38

Reptile209

- gers -

Ik snap er geen hout van :). Bedoel je zoiets:
Invoer: 1 9 2 8 7 16
Resultaat:
A1 = 1
B7 = 9
C4 = 2
A2 = 8
H1 = 7
A3 = 16

Zo ja, splits in je code de string op de plaats van de spaties. Gebruik dan één of andere systematiek om het juiste getal in de juiste cel te plaatsen.

Als dit 'm niet is, wat bedoelde je dan wel?

Zo scherp als een voetbal!


Verwijderd

Topicstarter
ja dat voorbeeld is precies wat ik bedoel.
ik ben alleen een netwerk beheerder en niet veel ervaring met de codes.
dus als je ook nog een code voor me heb dan is mijn dag helemaal gemaakt :)

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 20:38

Reptile209

- gers -

Hiermee kan je je string splitten. Via de Cell() functie kan je een cell een waarde geven. Daarmee moet je zelf je dag helemaal kunnen maken ;).

Zo scherp als een voetbal!


Verwijderd

Topicstarter
thanks,
ik heb nu deze code:
Range("B3:U3") = Split(txtbedrag.Value, ",")

maar nu split hij het zeg maar over alle cellen
als ik bijvoorbeeld 599 zet hij in alle cellen 599 inplaats van:
cell b3=5
cell c3=9
cell d3=9

wat heb ik fout gedaan?

edit: txtbedrag is de naam van mijn textbox van de userform

edit 2: ok ik heb het zeg maar opgelost ik moet telkens overal een komma na zette maar ik wil dat hij die automatisch doet. dus dat ik dat niet hoef te doen maar als ik op de commandbutton druk dat hij overal automatisch een komma tussen zet.

[ Voor 39% gewijzigd door Verwijderd op 11-11-2009 12:59 ]


  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 20:38

Reptile209

- gers -

Als je kijkt naar de beschrijving van Split(), zie je dat het tweede argument het teken is waarop hij de string moet gaan knippen. Bij jou is dat "," (komma), maar je gebruikt 599 als invoerstring. Daar staan geen komma's in, dus split 'ie ook niks.
Als je echt wil dat "599" in 5-9-9 gesplitst wordt, moet je niet met Split() aan de gang, maar met Mid() en bijvoorbeeld een for-lusje.

Zo scherp als een voetbal!


Verwijderd

Topicstarter
Wat bedoel je precies met Mid()?
want wat ik er over kan vinden is het volgende:

Mid(“Visual Basic”, 3, 6) = ual Bas

wat ik hier van snap is dat je met het eerste getal de start positie op geeft en met het tweede getal de eind positie opgeeft.
Ik zie niet zo snel hoe ik dit moet gebruiken dan.

Mijn oplossing was: ik voer een getal in de tekstbox in en daar laat ik door de code een komma tussen zetten. en dan laat ik hem door de split gaan. alleen ik heb geen flauw idee hoe ik dit moet doen en of mijn idee wel goed is zo om het te doen.

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 20:38

Reptile209

- gers -

Om teleurstelling te voorkomen: ik geef het je echt niet kado, maar ik zal je nog een duwtje in de richting geven.

Je snapt hoe Mid() werkt, je redenatie klopte. Vergeet je komma-idee even, dat heb je niet nodig.

Stel nou dat in de textbox het getal 12345678 is ingevoerd. Als ik daar de losse cijfertjes van wil hebben, kan dat als volgt:
Mid("12345678", 0, 1) = "1"
Mid("12345678", 1, 1) = "2"
Mid("12345678", 2, 1) = "3"
Mid("12345678", 7, 1) = "8"
Mid("87654321", 0, 1) = "8"

Gebruik dit als volgt:
code:
1
2
3
4
For n = 0 to len(tekst) - 1
  pak cijfer nummer n uit je getal (hint: ... = Mid(...))
  wijs dat cijfer toe aan cel nummer n (hint: cell(rij, kolom) = ... )
next

Zo scherp als een voetbal!

Pagina: 1