• 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.

MsgBox userform met verticaalzoeken waarde uit sheet

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

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste,

Ik wil het volgende bereiken.
In mijn userform, als er via de listbox een nummer gekozen wordt dat voorkomt in de sheet MsgBox dat de tekst in kolom B in een msgbox vermeld gaat worden.

Ik heb nu achter de knop "Artikel naar formulier " ook de volgende code staan.

Code:
  ar = Sheets("MsgBox").Cells(1).CurrentRegion
  For j = 2 To UBound(ar)
    If ar(j, 1) = AdresNummer.value Then c00 = c00 & ar(j, 2) & vbCr & vbCr
  Next j
  c01 = "De tekst die hierbij hoort is: " & vbCr & vbCr
  MsgBox c01 & c00

Enkel hij neem dan niet de gewenste tekst uit de sheet "MsgBox" niet mee

Hoe kan ik dit wel voor elkaar krijgen

Groet Henk
 

Bijlagen

Maak gebruik van breakpoints je kan dan zien waarom iets niet werkt. Tekst vergelijken met getallen gaat niet zo best.
 
Code:
x = 2
Do While Cells(x, 1) <> ""
If AdresNummer.Text = Sheets("MsgBox").Cells(x, 1) Then
TextBox5.Text = Sheets("MsgBox").Cells(x, 2)
End If
x = x + 1
Loop
MsgBox TextBox5.Text

Nu met een hulp textbox is het wel gelukt.

Nu nog even doorgelopen en toe zag ik wat er fout ging:
Code:
 ar = Sheets("MsgBox").Cells(1).CurrentRegion
 For j = 2 To UBound(ar)
    If ar(j, 1) = AdresNummer.Text Then c00 = c00 & ar(j, 2) & vbCr & vbCr
  Next j
  c01 = "De tekst die hierbij hoort is: " & vbCr & vbCr
  MsgBox c01 & c00

Dus zo doet hij wat ik wil!

Henk
 
Laatst bewerkt:
toch niet wat ik wil

Code:
X = 2
Do While Cells(X, 1) <> ""
If AdresNummer.Text = Sheets("MsgBox").Cells(X, 1) Then
TextBox5.Text = Sheets("MsgBox").Cells(X, 2)
End If
X = X + 1
Loop
MsgBox TextBox5.Text

Ik dacht dus dat dit werkte, maar niet.
Hij pakt enkel de bovenste regel, en als hij het opvolgende nummer zou moeten vinden dan pakt hij nog steeds de bovenste regel.

Ik ben even de draad kwijt en krijg het niet werkend.
Dus als iemand mij te hulp wil schieten heel graag.

Groet Henk
 
Laatst bewerkt:
Het wordt er allemaal niet duidelijker op. Als je dan ook nog de vraag gaat aanpassen dan wordt het nog minder duidelijk. Het ging er toch om om geen msgbox te tonen als er geen waarde gevonden is? Misschien eens logisch nadenken?

Voor geen msgbox
Code:
Private Sub CmdWijzig_Click()
  x = Application.Match(CDbl(AdresNummer), Sheets("Msgbox").Columns(1), 0)
  If IsNumeric(x) Then MsgBox Sheets("Msgbox").Cells(x, 2)
End Sub
 
Zoek het hierin.
Code:
 If ar(j, 1) = AdresNummer Then c00 = c00 & ar(j, 2) & vbCr & vbCr
en dan specifiek in:

Code:
ar(j,1)=adresnummer

Zoek in de Help naar "typen conversiefuncties".
 
Beste V en A

Dank voor de bijdrage :
Code:
Private Sub CmdWijzig_Click()
  x = Application.Match(CDbl(AdresNummer), Sheets("Msgbox").Columns(1), 0)
  If IsNumeric(x) Then MsgBox Sheets("Msgbox").Cells(x, 2)
End Sub

Dit werkt perfect.
Maar toch een vraag, omdat ook bepaalde nummers in kolom A in de MsgBox letters zitten.
bv LAAD_LOS-0003

Maar door de IsNumeric werkt het niet, hoe moet dit opgelost worden.

Groet Henk
 
Isnumeric staat er los van. Van een tekst kan je geen Cdbl maken en daar gaat het dan fout. Zie ook de reactie van @HSV in #6

Code:
Private Sub CmdWijzig_Click()
  ar = Sheets("Msgbox").Cells(1).CurrentRegion
  For j = 2 To UBound(ar)
    If [COLOR="#FF0000"]CStr[/COLOR](ar(j, 1)) = AdresNummer.Text Then c00 = c00 & ar(j, 2) & vbLf
  Next j
  If Len(c00) > 0 Then MsgBox c00
End Sub
 
Laatst bewerkt:
bedankt

Bedankt voor de oplossing, en de uitleg.
Elke keer leer ik weer wat bij, geweldig :thumb:

Henk
 
Als je wat wil leren dan haal je overal on error resume next weg. Is in jouw geval nergens voor nodig en verbergt alleen fouten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan