Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Op een werkblad staat inmiddels in kolom I een reeks namen. Met onder andere de naam "jan"

Er is een variabele actief met de inhoud "jan"

Hoe zoek ik met behulp van de VBA code effectief naar " jan" in de kolom?

Vervolgens moet ik naast de naam "jan" de inhoud van de variabele "loon" plaatsen.

 

Graag hulp, bij voorbaat dank

Geplaatst: (aangepast)

Suikerklont,

 

Ik weet niet of je dit bedoeld, maar hier kun je wel op naam zoeken.

 

edit: Hier ging dus iets fout met het uploaden.

aangepast door bucky
Geplaatst:

Foutje in de code, hier hersteld.

en code activeren door ergens in je werkblad in een lege cel te dubbelklikken. te

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Found As Range, tempcell As Range, X As Variant
X = InputBox("Welke naam zoek je?." & vbCrLf & "Er wordt gezocht in de kolom 'naam'")
If X <> "" Then
Set Found = Columns(9).Find(X, , xlValues, xlPart)
If Found Is Nothing Then
    MsgBox X & "  Naam niet gevonden!"
    Exit Sub
Else
    Application.GoTo Found.Offset(, -8), True

End If
If MsgBox("Verder zoeken?", vbYesNo) = vbYes Then
    Do
        Set tempcell = Columns(9).FindNext(After:=Found)
        If Found.Row >= tempcell.Row And Found.Column >= tempcell.Column Then
            MsgBox "Niet(s) meer gevonden!"
            Range("L4").Select
            Exit Do
          End If
        Set Found = tempcell
        Application.GoTo Found.Offset(, -8), True
        If MsgBox("Verder zoeken?", vbYesNo) = vbNo Then Exit Do
    Loop
End If
Else: Exit Sub
End If
End Sub

Geplaatst:

Hallo Bucky

Dit is precies wat ik zoek

Ik heb in mijn VBA app hiervan maar 2 regels nodig

De find functie en de application functie

Dat had ik zelf ook al geprobeerd, maar kreeg het niet goed werkend

Nu werkt het uitstekend

Hartelijk dank

Geplaatst: (aangepast)

Andere oplossing met 1 naam en 1 bedrag voor het loon behorend bij die naam, ervan uitgaand dat het bereik I2:J400 is. Voor meer namen en bijbehorende bedragen, is de macro eenvoudig aan te passen.

Sub macro1()
Dim x As Integer, loon As Double
loon = 2000
With Sheets("Blad1")
.Range("J2:J400").ClearContents
For x = 1 To 400
If LCase(.Range("I" & x).Value) = "jan" Then
.Range("J" & x).Value = loon
End If
Next x
End With
End Sub
aangepast door alpha
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.