Vergleichen und eintragen

Bild

Betrifft: Vergleichen und eintragen
von: Bryan
Geschrieben am: 14.04.2005 00:35:20
Hallo nochmal,
bin gerade dabei diesen code zu machen und komme nicht mehr weiter.
Ich will das Datum der Zellen (A6:A36, E6:E36 usw bis AS) mit dem Datum das in Zelle FF2:FF367 steht vergleichen. Ist das Datum dasselbe, soll 2 Spalten weiter wie A6, also in C6 der Text aus der Zelle FG ? eingetragen werden.
Beispiel: In A10 steht 05.01.05 und in FF6 steht auch der 05.01.05 dann soll in Zelle C10 der Text von FG6 geschrieben werden. Hier mein Ansatz. Kann mir jemand helfen das Ding zu vervollständigen?


Sub Schicht_Ein()
For z = 6 To 36 ' =Zeilen 6 bis 36
    For s = 1 To 45 Step 4 '=Spalten A, E, I, M, Q, ... , AS
        If Weekday(Cells(z, s).Value) = Weekday("FF2:FF367") Then  'FF2:FF367 steht Vergleichsdatum
            Cells(z, s + 2))                                       'FG2:FG367 steht der Text der eingetragen werden soll
        End If
    Next s
Next z
End Sub


Danke und Gruss
Bryan
Bild

Betrifft: AW: Vergleichen und eintragen
von: Dani
Geschrieben am: 14.04.2005 08:49:48
Hallo Bryan,
versuch's mal so:


      
Sub Schicht_Ein()
Dim Suchort As Range
Dim Fundort As Range
Dim Suchdatum As Date
Dim z, s As Long
Set Suchort = Tabelle1.Range("FF2:FF362")
For z = 6 To 36 ' =Zeilen 6 bis 36
    For s = 1 To 45 Step 4 '=Spalten A, E, I, M, Q, ... , AS
        Suchdatum = Cells(z, s).Value
        
Set Fundort = Range("FF2:FF362").Find(CDate(Suchdatum))
        
If Not Fundort Is Nothing Then
            Cells(z, s + 2).Value = Fundort.Offset(0, 1).Value                                     
'FG2:FG367 steht der Text der eingetragen werden soll
        End If
    
Next s
Next z
End Sub 

     Code eingefügt mit Syntaxhighlighter 3.0

Hoffe das hilft dir weiter
Gruss Dani
Bild

Betrifft: AW: Vergleichen und eintragen
von: Fritz
Geschrieben am: 14.04.2005 09:19:36
Hi Bryan,
Ich würde für Dein Schichtplan folgenden VBA-Code einsetzen:

Sub Schicht_Ein()
Dim z, s As Integer
Dim ws1 As Worksheet
Set ws1 = Worksheets("Tabelle2")
For s = 1 To 45 Step 4
    For z = 6 To 36
    Datum = ws1.Cells(z, s).Value
    Set c = ws1.Range("FF1:FF366").Find(Datum, LookIn:=xlValues)
        If Not c Is Nothing Then
           ws1.Cells(z, s + 2) = ws1.Cells(c.Row, c.Column + 1)                                  'FG2:FG367 steht der Text der eingetragen werden soll
        End If
    Next z
Next s
End Sub


Teste den Code mal durch.

Fritz
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Vergleichen und eintragen"