Herbers Excel-Forum - das Archiv

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
Excel-Beispiele zum Thema "Vergleichen und eintragen"
Zellen vergleichen und markieren Tabellen vergleichen
Spalten A und B vergleichen und Doppel in C listen Werte vergleichen
Bereiche auf Übereinstimmung vergleichen Daten in jeweils einer Spalte zweier Tabellen vergleichen
Werte vergleichen und Ergebnis in Tabelle eintragen Tabellen vergleichen und Zeilen ersetzen
Tabellen vergleichen und bei Nichtübereinstimmung markieren Textdateien vergleichen und Unterschiede dokumentieren