Zellen miteinander vergleichen + Zeit ausrechnen.

Bild

Betrifft: Zellen miteinander vergleichen + Zeit ausrechnen.
von: Fritz
Geschrieben am: 08.10.2003 15:12:58

Hallo Leute,
ich sitze hier vor einem Problem und komme nicht zu einem Ansatzpunkt. Vielleicht weiß jemand von Euch Experten Rat:

Meine Datei hat 3 Blätter. Tabelle1, Eingang und Ausgang.

Im Blatt Eingang stehen in Spalte Q (ab Zeile 3) abwärts die Bezeichungen, in Spalte Y (ab Zeile 3) das jeweilige Eingangsdatum zu Q.
Die Zeilenanzahl wächst monatlich.

Im Blatt Ausgang stehen in Spalte L (ab Zeile 3) die Bezeichnungen, in Spalte Y (ab Zeile 3) das jeweilige Ausgangsdatum zu L.
Auch hier wächt die Zeilenanzahl monatlich.

In Tabelle1 möchte ich folgendes anstellen:
Jede Zelle aus Eingang Spalte Q an Zeile 3 abfragen und mit Ausgang Spalte L ab Zeile 3 vergleichen, bei Übereinstimmungen Verweilzeit aus den Ein und Ausgangsdaten errechnen.

Gibt es Formel, Funktionen, Macros mit denen ich das lösen kann?

Die Tabelle habe ich hier (nur den wichtigen Spalten) zum anschauen.

https://www.herber.de/bbs/user/1332.xls

Danke für alle Tipps
Fritz

Bild


Betrifft: AW: Zellen miteinander vergleichen + Zeit ausrechnen.
von: ChrisL
Geschrieben am: 08.10.2003 16:34:41

Hi Fritz

Option Explicit


Sub Vergleich()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet
Dim iZeile As Long, Zelle As Range, LetzteZeile As Long
Application.ScreenUpdating = False
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Eingang")
Set WS3 = Worksheets("Ausgang")
WS1.Range("A2:C65536").ClearContents
For iZeile = 3 To WS2.Range("Q65536").End(xlUp).Row
    If Application.WorksheetFunction.CountIf(WS3.Range("L3:L" & WS3.Range("L65536").End(xlUp).Row), WS2.Cells(iZeile, 17)) > 0 Then
    
        For Each Zelle In WS3.Range("L3:L" & WS3.Range("L65536").End(xlUp).Row)
            If Zelle = WS2.Cells(iZeile, 17) Then Exit For
        Next Zelle
        
        LetzteZeile = WS1.Range("A65536").End(xlUp).Row + 1
        WS1.Cells(LetzteZeile, 1) = Zelle
        WS1.Cells(LetzteZeile, 2) = Format(WS2.Cells(iZeile, 25) - WS3.Cells(Zelle.Row, 25), "dd")
        
        If Application.WorksheetFunction.Count(WS3.Range("L3:L" & WS3.Range("L65536").End(xlUp).Row), WS2.Cells(iZeile, 17)) > 1 Then _
        WS1.Cells(LetzteZeile, 3) = "Achtung Mehrfacheintrag in Tabelle " & WS3.Name
        
    End If
Next iZeile
Application.ScreenUpdating = True
End Sub



Siehe Anhang...
https://www.herber.de/bbs/user/1337.xls

Gruss
Chris


Bild


Betrifft: Super, danke - muß das jetzt verstehen lernen...oT
von: FRITZ
Geschrieben am: 09.10.2003 09:30:00

b


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Zellen miteinander vergleichen + Zeit ausrechnen. "