Macro uitvoeren o.b.v. eerstgevulde cel in range i.p.v. harde verwijzing cel

Status
Niet open voor verdere reacties.

MLJE1980

Gebruiker
Lid geworden
18 mei 2017
Berichten
18
Goedemiddag,

Ik hoop dat jullie mij hiermee kunnen helpen.

Ik gebruik een macro die een waarde (findstring2) opzoekt en leegmaakt in een sheet met de naam afkomstig uit de waardevan een andere cel( findstring)
Findstring en Findstring zijn op dit moment harde verwijzingen naar een bepaalde cel, maar ik zou graag deze dynamischer willen maken dat de macro zoekt naar de eerstgevulde cellen (er is steeds maar 1 regel ingevuld) en op basis van die waardes de rest van de macro uitvoert.
Hoe kan ik deze dynamischer maken?

Code:
Private Sub CommandButton1_Click()
Dim FindString As String
Dim FindString2 As String
Dim Rng As Range
      
    FindString = Sheets(1).Range("E7").Value
    FindString2 = Sheets(1).Range("D7").Value
     
      If Trim(FindString) <> "" Then
        Workbooks(2).Activate
     Sheets(FindString).Activate
       With Sheets(1).Range("A:AP")
            Set Rng = .Find(What:=FindString2, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
  
            If Not Rng Is Nothing Then
                   
                 Rng.Clear
                Application.Goto Rng, True
                ActiveCell.Offset(0, 1).Clear
        
            Else
                MsgBox "Niks gevonden"
            End If
              
        End With
           
    End If
  
 
  Workbooks(1).Activate
End Sub

Alvast bedankt.

Michael
 
Code:
    rij = Range("D1").End(xlDown).Row
    MsgBox "Eerst gevulde rij in kolom D: " & rij
[COLOR=#3E3E3E]    FindString = Sheets(1).Range("E" & rij).Value[/COLOR]
 
Code:
    rij = Range("D1").End(xlDown).Row
    MsgBox "Eerst gevulde rij in kolom D: " & rij
[COLOR=#3E3E3E]    FindString = Sheets(1).Range("E" & rij).Value[/COLOR]

Bedankt wederom voor je hulp! Ik was duidelijk weer veels te moeilijk aan het denken
 
Vermijd overbodige variabelen in VBA

Code:
with Columns(4).specialcells(2).cells(1)
  msgbox .value & .offset(,1).value
End with
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan