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

Tekst zoeken in rij (vba)

Status
Niet open voor verdere reacties.

royb73

Gebruiker
Lid geworden
19 sep 2012
Berichten
228
Beste,

Ik ben op zoek naar een code in Excel (VBA) die een bepaalde tekst zoekt. Momenteel heb ik de code:

Code:
Set WorkRng = Intersect(Application.ActiveSheet.Range("U:U"), Target)

In kolom U staat namelijk op rij 1 de tekst "Status".

Hoe kan ik de code aanpassen zodat in plaats van kolom "U" de tekst "status" zoekt?

De volledige code is:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer

Set WorkRng = Intersect(Application.ActiveSheet.Range("U:U"), Target)
xOffsetColumn = 1

If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Date
            'Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True

End If

End Sub

Mvg

Roy
 
Mij is niet duidelijk wat je nu precies waar wilt zoeken.
Je zal sowieso de kolom moeten opgeven.
 
Hoi Edmoor,

Ik heb een Excelbestand waar in de eerste rij aantal kolomnamen staan (o.a. werkstudenten, datum, status etc.). De code moet zoeken naar de tekst "Status" in 1e rij.
Bij het gereed melden, wordt de kolom ernaast automatisch voorzien van een datum zoals in de code is geschreven.

Doordat er wekelijks nieuwe studenten erbij komen of weggaan, wordt er steeds een kolom toegevoegd/verwijderd waardoor kolom U (kolomnaam "Status") variabel wordt. Ik wil de code (zoals aangegeven) aanpassen, zodat het zoekt naar de tekst "status".

Hoop dat het iets duidelijker is.

Mvg
Roy
 
Zoiets?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, Target.Column).Value = "Status" Then
 i = Target.Column
 
 If Not Intersect(Target, Range(Cells(2, i), Cells(Rows.Count, i))) Is Nothing Then
    If Target <> "" Then
       Target.Offset(, 1) = Format(Date, "dd-mm-yyyy")
    Else
       Target.Offset(, 1) = ""
    End If
 End If
End If
End Sub
 
Dank je.

Dit is wat ik zocht.

BEdankt voor je moeite.

Groeten,

Roy
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan