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

[VBA] Data cel uit excel weergeven in VBA

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal, mijn probleem:

Ik heb een paar cellen in excel zitten die ik in VBA wil laten zien. dit is de code die ik ervoor gebruik:

code:
1
2
3
Private Sub Hoofdmenu_Initialize()
Me.TextBox1.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B26").Value)
End Sub


Bij een enkele Textbox werkt dit prima, maar zodra ik er meerdere wil doen gaat het fout. De Textboxen blijven leeg als ik VBA opstart.

wat ik nu dus heb is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Hoofdmenu_Initialize()
Me.TextBox1.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B26").Value)
Me.TextBox2.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C32").Value)
Me.TextBox12.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B31").Value)
Me.TextBox13.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B30").Value)
Me.TextBox14.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B29").Value)
Me.TextBox15.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B28").Value)
Me.TextBox16.Text = CStr(ThisWorkbook.Sheets("blad1").Range("B27").Value)
Me.TextBox3.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C31").Value)
Me.TextBox4.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C30").Value)
Me.TextBox5.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C29").Value)
Me.TextBox6.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C28").Value)
Me.TextBox7.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C27").Value)
Me.TextBox8.Text = CStr(ThisWorkbook.Sheets("blad1").Range("C26").Value)
End Sub


omdat als ik het in allemaal losse private subs zet er wordt gezegd dat er dubbele informatie is. maar op deze manier komt er helemaal niks te staan.

Ik ben nogal een 'noob' ivm VBA, ik zit in VWO6 en doe dit voor een schoolopdracht. mijn leraren hebben ook niet zo veel verstand van VBA.

Hoe moet ik dit oplossen?

Bij voorbaat dank,
Dennis

[ Voor 4% gewijzigd door Verwijderd op 02-04-2012 12:57 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op maandag 02 april 2012 @ 12:55:
[...]

Bij een enkele Textbox werkt dit prima,
Dat verbaast me eigenlijk. ;) Hoe roep je dat hoofdmenu_initialise aan? Is hoofdmenu een userform?

[ Voor 15% gewijzigd door Lustucru op 02-04-2012 21:29 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • henkfrings
  • Registratie: Februari 2011
  • Laatst online: 29-04-2021
Lustucru schreef op maandag 02 april 2012 @ 21:29:
[...]

Dat verbaast me eigenlijk. ;) Hoe roep je dat hoofdmenu_initialise aan? Is hoofdmenu een userform?
Ja klopt, dat is inderdaad een Userform. Ik heb dit ook op een ander forum gezet, die zeggen dat ipv Hoofdmenu hier gewoon Userform moet blijven staan, klopt dit?

Edit: ik zit nu blijkbaar op mijn vaders account, maar OP hier.

[ Voor 8% gewijzigd door henkfrings op 03-04-2012 08:04 ]


Verwijderd

Topicstarter
Lustucru schreef op maandag 02 april 2012 @ 21:29:
[...]

Dat verbaast me eigenlijk. ;) Hoe roep je dat hoofdmenu_initialise aan? Is hoofdmenu een userform?
sorry, je had gelijk, het moest userform_initialize zijn, niet hoofdmenu_initialize. het werkt nu!
Alleen nu nog een ander klein probleempje: als ik nu mijn VBA laat runnen en ik verander de data in de cell in Excel, dan wordt dat niet gelijk geupdate in mijn VBA. enig idee welke code daarmee helpt? ik dacht dat het

Application.ScreenUpdating = True
was, maar dat werkt niet.


Dit is het bestand: http://www.mediafire.com/?81f2p3u7ny4yoqm

Verwijderd

het initialize-event wordt slechts eenmaal uitgevoerd, bij het starten van de userform.

maar als ik je bestand even bekijk, dan is het de bedoeling het winkelwagentje te vullen via aanklikken van de diverse userforms, en dan uiteindelijk de ww-inhoud overbrengen van userformtekstvelden naar de cellen op het werkblad en niet andersom.

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 03 april 2012 @ 14:35:
het initialize-event wordt slechts eenmaal uitgevoerd, bij het starten van de userform.

maar als ik je bestand even bekijk, dan is het de bedoeling het winkelwagentje te vullen via aanklikken van de diverse userforms, en dan uiteindelijk de ww-inhoud overbrengen van userformtekstvelden naar de cellen op het werkblad en niet andersom.
nee dat hoeft opzich niet, we laten het excelbestand gewoon op de achtergrond draaien, het enige is hoe we nu het hoofdmenu steeds kunnen laten verversen als er een product wordt toegevoegd.

(trouwens in deze versie werken alleen de frisdranken, dus alleen die kan je hier 'bestellen'. In een andere versie werken de anderen ook, maar die heb ik niet bij me.)

  • Coffeemonster
  • Registratie: Juli 2000
  • Laatst online: 17-11 13:43
Er is een event Worksheet_Change, maar ik weet niet wat voor effect dit heeft op de performance van je gehele Excel-document. Een alternatief is om een extra knop te maken waarop de gebruiker moet klikken nadat de producten zijn toegevoegd, die de juiste macro's activeert.

Look for something long enough and you will find it; look for something without understanding, and it will find you.
A normal day at the stock exchange

Pagina: 1