Sub SuchkriterienFinden()
Dim Datum As String
Dim Schicht As String
Dim c As Range
Dim firstAddress As String
Datum = Sheets("Eingabe").Range("E12")
Schicht = Sheets("Eingabe").Range("F12")
With Sheets("KZ").Range("B:B")
Set c = .Find(CDate(Datum), LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Offset(0, 1) = Schicht Then
c.Offset(0, 2).Select
Exit Do
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
Gruß Jürgen
Zelle in Spalte A "selectiert"! ;o)
Backowe
Hallo Larissa,
ich mir nicht alle Antworten durchgelesen! ;o)
Hier noch die kleine Korrektur:
VBA-Code: | Sub SuchkriterienFinden()
Dim Datum As String
Dim Schicht As String
Dim c As Range
Dim firstAddress As String
Datum = Sheets("Eingabe").Range("E12")
Schicht = Sheets("Eingabe").Range("F12")
With Sheets("KZ").Range("B:B")
Set c = .Find(CDate(Datum), LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Offset(0, 1) = Schicht Then
c.Offset(0, -1).Select
Exit Do
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
Gruß Jürgen
AW: Zelle in Spalte A "selectiert"! ;o)
Larissa
Hi Jürgen,
das sieht ja super aus, ich bleibe aber hängen bei:
With Sheets("KZ").Range("B:B")
Ich habe schon die Variable
Dim KZ As String
KZ = Sheets("Eingabe").Range("F4")
hinzugefügt, geht aber trotzdem noch nicht, weißt Du vielleicht warum?
Lieben Gruß,
Larissa
Steht in der Variable KZ ein Sheetname?
Backowe
Hallo Larissa,
wenn dem so ist, dann einfach With Sheets("" & KZ &"").Range("B:B") verwenden.
Gruß Jürgen
AW: Steht in der Variable KZ ein Sheetname?
Larissa
Danke Jürgen,
Ok, also da ist es schon mal weitergegangen, aber jetzt huscht das Makro einfach so durch.
Von
If Not c Is Nothing Then
gleich auf End With
Das Makro ist so spezispeziell für mich, da traue ich mich nicht, etwas zu ändern. Würde wohl auch eh nichts bringen.
Hast Du noch eine Idee für mich?
Gruß, Larissa
Das Sheet muss als als erstes ausgewählt werden
Backowe
Hallo Larissa,
VBA-Code: | Sub SuchkriterienFinden()
Dim KZ As String, Datum As String, Schicht As String, firstAddress As String
Dim c As Range
KZ = Sheets("Eingabe").Range("F4")
Datum = Sheets("Eingabe").Range("E12")
Schicht = Sheets("Eingabe").Range("F12")
Sheets("" & KZ & "").Select
With Range("B:B")
Set c = .Find(CDate(Datum), LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Offset(0, 1) = Schicht Then
c.Offset(0, -1).Select
Exit Do
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
Gruß Jürgen
AW: Das Sheet muss als als erstes ausgewählt werden
Larissa
Wandele das Datum in Spalte B um in ...
Backowe
Hallo Larissa,
... das Format TT.MM.JJJJ um, dann funktioniert es problemlos!
Gruß Jürgen
AW: Wandele das Datum in Spalte B um in ...
Original
Hi,
Sheets(KZ).Select
ist etwas einfacher.
mfg Kurt
KZ ist eine Variable!
Backowe
Hallo Kurt,
ich denke, daß dies nur ein Beispiel ist, das Orginal wesentlich mehr Sheets beinhaltet. Ich hatte ihr dies ein Paar Postings vorher schon geschrieben, aber die Rückmeldung war, daß bei Sheeets("KZ")... sich der Debugger gemeldet hat.
Gruß Jürgen
AW: KZ ist eine Variable!
Larissa
Ja richtig Jürgen, es gibt mehrere KZ-Sheets.
Wo soll ich denn das Datum in Text umwandeln? In dem KZ-Sheet, oder auch im "Eingabe"-Sheet? Meinst Du so: =TEXT(E12;"TT.MM.JJ")
Damit habe ich es noch nicht hinbekommen. Ich hatte vorher auch schon mal mit einer Hilfsspalte versucht und die TEXT-Formel für das Zusammenfügen genommen. Irgendwie bleibt das bei mir alles erfolglos :-(
Gruß, Larissa
Mache Dir doch das Leben nicht unnötig schwer! ;o)
Backowe
Hallo Larissa,
ich meinte das Zellenformat in der Spalte B abändern in "TT.MM.JJJJ" , nicht eine zusätzliche Spalte.
Gruß Jürgen
Juuhuuu! - Danke Jürgen ;-)
Larissa
Das war schon alles? Das ist ja schon echt peinlich.
1000 Dank, Du warst eine tolle Hilfe.
Lieben Gruß, Larissa
|
|
|