Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum vergleichen

Datum vergleichen
17.07.2003 08:59:34
Mareike
Hallo zusammen,
Ich habe folgendes Problem:
Ich habe eine Tabelle mit Daten. In einer Spalte befindet sich ein Datum (Format:17.7.2003). Nun möchte ich aus einer anderen excel-Datei die Daten einlesen und dabei aber nur die Daten, die im angebenen Zeitraum liegen. Der Zeitraum wird über zwei Textboxen eingegeben.
Das Einlesen von allen Daten habe ich schon hinbekommen, nur das mit dem Datum vergleichen klappt nicht. Vieleicht könnt ihr mir ja helfen?
Danke, im Vorraus.
Gruß
Mareike

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hier der Code
17.07.2003 09:33:08
Mareike
Hallo Hajo,
Hier ist der Code:
Set ws1 = Worksheets("Transportliste")
Workbooks.Open Filename:="D:\Transportueberwachungstool\TransporteWWS.xls"
Set ws2 = Workbooks(2).Worksheets("Transporte")
rowmax = Zeilen_zaehlen(ws2)
If TextBoxvon <> "" Then
datum = IsDate(TextBoxvon.Text)
If datum = True Then
datumvon = DateValue(TextBoxvon.Text)
End If
Else
datum = False
End If
If TextBoxbis <> "" Then
datum = IsDate(TextBoxbis.Text)
If datum = True Then
datumbis = DateValue(TextBoxbis.Text)
End If
Else
datum = False
End If
For y = 2 To rowmax
If ws2.Cells(y, 4).Value >= datumvon & ws2.Cells(y, 4).Value <= datumbis Then
For x = 2 To 7
ws1.Cells(y + 1, x - 1) = ws2.Cells(y, x)
Next x
End If
Next y
Workbooks(2).Close
Wäre echt toll wenn du mir helfen könntest!

Anzeige
AW: Hier der Code
17.07.2003 09:57:57
Hajo_Zi
Hallo Mareike
mann sollte den Code schon soweit Posten das er lauffähig ist und komplett.
Jetzt hast Du nur nicht geschrieben was mit Von sowie bis verglichen werden soll
Option Explicit

Private Sub CommandButton1_Click()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Rowmax As Long
Dim Datum As Date
Dim DatumVon As Date
Dim DatumBis As Date
Dim Y As Long
Dim X As Byte
Set Ws1 = Worksheets("Transportliste")
Workbooks.Open Filename:="D:\Transportueberwachungstool\TransporteWWS.xls"
Set Ws2 = Workbooks(2).Worksheets("Transporte")
Rowmax = Zeilen_zaehlen(Ws2)
If TextBoxvon <> "" Then
If IsDate(TextBoxvon.Text) Then
DatumVon = DateValue(TextBoxvon.Text)
Else
' kein Datum
MsgBox "Es Fehlt Beginndatum"
Exit Sub
End If
End If
If TextBoxbis <> "" Then
If IsDate(TextBoxbis.Text) Then
DatumBis = DateValue(TextBoxbis.Text)
Else
MsgBox "Es Fehlt Beginndatum"
Exit Sub
End If
End If
For Y = 2 To Rowmax
If Ws2.Cells(Y, 4).Value >= DatumVon & Ws2.Cells(Y, 4).Value <= DatumBis Then
For X = 2 To 7
Ws1.Cells(Y + 1, X - 1) = Ws2.Cells(Y, X)
Next X
End If
Next Y
Workbooks(2).Close
Set Ws1 = Nothing
Set Ws2 = Nothing
End Sub

Function Zeilen_zaehlen(Te As Worksheet)
Zeilen_zaehlen = 65
End Function

Gruß Hajo

Anzeige
AW: Hier der Code
17.07.2003 10:17:24
Mareike
Hallo Hajo,
sorry, wegen des unvollständigen Codes!
Also in der Tabelle "Transporte" steht der Spalte 4 ("Freigabedatum")ein Datum.
Beispiel für Spalte 4:
Freigabedatum
29.08.2002
19.09.2002
25.09.2002
04.10.2002
08.10.2002
07.10.2002
11.10.2002
17.10.2002
Dieses Datum soll mit dem eingebenen Zeitraum verglichen werden, und wenn es in diesem Zeitraum liegt, soll der Datensatz in die andere Excel-Datei geschrieben werden.
Gruß
Mareike

AW: Hier der Code
17.07.2003 10:29:04
Hajo_Zi
Hallo Mareike
hast Du meinen Code getestet??
Ich würde schreiben er kopiert die Werte die zwischen diesen beiden Daten sind.
Gruß Hajo

Anzeige
AW: Hier der Code
17.07.2003 11:32:07
Mareike
Hallo Hajo,
Ja, ich habe dein Code ausprobiert. Klappt leider nicht. Es werden immernoch alle Datensätze kopiert. Trotzdem vielen Dank für deine Mühen!
Vielleicht hast du oder ein anderer noch eine Idee?
Gruß
Mareike

AW: Hier der Code
17.07.2003 11:43:00
Hajo_Zi
Hallo Mareike
leider habe ich keinen Ansatz mehr da bei mir nur die Datensätze im Bereich kopiert werden.

Private Sub CommandButton1_Click()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Rowmax As Long
Dim Datum As Date
Dim DatumVon As Date
Dim DatumBis As Date
Dim Y As Long
Dim X As Byte
Set Ws1 = Worksheets("Transportliste")
Workbooks.Open Filename:="D:\Transportueberwachungstool\TransporteWWS.xls"
Set Ws2 = Workbooks("TransporteWWS.xls").Worksheets("Transporte")
'    Set Ws2 = ActiveWorkbook.Worksheets("Transporte") ' zu Testzwecken
Rowmax = Zeilen_zaehlen(Ws2)
If TextBoxvon <> "" Then
If IsDate(TextBoxvon.Text) Then
DatumVon = DateValue(TextBoxvon.Text)
Else
' kein Datum
MsgBox "Es Fehlt Beginndatum"
Exit Sub
End If
End If
If TextBoxbis <> "" Then
If IsDate(TextBoxbis.Text) Then
DatumBis = DateValue(TextBoxbis.Text)
Else
MsgBox "Es Fehlt Beginndatum"
Exit Sub
End If
End If
For Y = 2 To Rowmax
If Ws2.Cells(Y, 4).Value >= DatumVon And Ws2.Cells(Y, 4).Value <= DatumBis Then
For X = 2 To 7
Ws1.Cells(Y + 1, X - 1) = Ws2.Cells(Y, X)
Next X
End If
Next Y
Workbooks("TransporteWWS.xls").Close
Set Ws1 = Nothing
Set Ws2 = Nothing
End Sub

Gruß Hajo

Anzeige
AW: Hier der Code
17.07.2003 13:37:46
Mareike
Hallo Hajo,
bei mir werden die Felder 'DatumVon' und 'DatumBis' nicht gefüllt.
Wenn ich z.B. nichts in die Textbox reinschreibe, kommt nicht einmal die Fehlermeldung 'Es fehlt Beginndatum'.
Vielleicht weisst du ja wo das Problem ist?
Gruß
Mareike

Es klappt doch!
17.07.2003 15:57:21
Mareike
Es funktioniert.
Danke nochmal für deine Hilfe.
Gruß Mareike

AW: Hier der Code
17.07.2003 15:43:35
Hajo_Zi
Hallo Mareike
ändere den Code

Option Explicit
Private Sub CommandButton1_Click()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Rowmax As Long
Dim Datum As Date
Dim DatumVon As Date
Dim DatumBis As Date
Dim Y As Long
Dim X As Byte
Set Ws1 = Worksheets("Transportliste")
'    Workbooks.Open Filename:="D:\Transportueberwachungstool\TransporteWWS.xls"
'    Set Ws2 = Workbooks("TransporteWWS.xls").Worksheets("Transporte")
Set Ws2 = ActiveWorkbook.Worksheets("Transporte") ' zu Testzwecken
Rowmax = Zeilen_zaehlen(Ws2)
If IsDate(TextBoxvon.Text) Then
DatumVon = DateValue(TextBoxvon.Text)
Else
' kein Datum
MsgBox "Es fehlt Beginndatum oder es ist kein Datum!!!"
Exit Sub
End If
If IsDate(TextBoxbis.Text) Then
DatumBis = DateValue(TextBoxbis.Text)
Else
MsgBox "Es fehlt Beginndatum oder es ist kein Datum"
Exit Sub
End If
For Y = 2 To Rowmax
If Ws2.Cells(Y, 4).Value >= DatumVon And Ws2.Cells(Y, 4).Value <= DatumBis Then
For X = 2 To 7
Ws1.Cells(Y + 1, X - 1) = Ws2.Cells(Y, X)
Next X
End If
Next Y
Workbooks("TransporteWWS.xls").Close
Set Ws1 = Nothing
Set Ws2 = Nothing
End Sub
Function Zeilen_zaehlen(ct As Worksheet)
Zeilen_zaehlen = 6
End Function


Code eingefügt mit: Excel Code Jeanie
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Hier der Code
17.07.2003 15:43:31
Hajo_Zi
Hallo Mareike
ändere den Code

Option Explicit
Private Sub CommandButton1_Click()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Rowmax As Long
Dim Datum As Date
Dim DatumVon As Date
Dim DatumBis As Date
Dim Y As Long
Dim X As Byte
Set Ws1 = Worksheets("Transportliste")
'    Workbooks.Open Filename:="D:\Transportueberwachungstool\TransporteWWS.xls"
'    Set Ws2 = Workbooks("TransporteWWS.xls").Worksheets("Transporte")
Set Ws2 = ActiveWorkbook.Worksheets("Transporte") ' zu Testzwecken
Rowmax = Zeilen_zaehlen(Ws2)
If IsDate(TextBoxvon.Text) Then
DatumVon = DateValue(TextBoxvon.Text)
Else
' kein Datum
MsgBox "Es fehlt Beginndatum oder es ist kein Datum!!!"
Exit Sub
End If
If IsDate(TextBoxbis.Text) Then
DatumBis = DateValue(TextBoxbis.Text)
Else
MsgBox "Es fehlt Beginndatum oder es ist kein Datum"
Exit Sub
End If
For Y = 2 To Rowmax
If Ws2.Cells(Y, 4).Value >= DatumVon And Ws2.Cells(Y, 4).Value <= DatumBis Then
For X = 2 To 7
Ws1.Cells(Y + 1, X - 1) = Ws2.Cells(Y, X)
Next X
End If
Next Y
Workbooks("TransporteWWS.xls").Close
Set Ws1 = Nothing
Set Ws2 = Nothing
End Sub
Function Zeilen_zaehlen(ct As Worksheet)
Zeilen_zaehlen = 6
End Function


Code eingefügt mit: Excel Code Jeanie
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
Test
17.07.2003 13:33:37
Hajo_zi
AW: Datum vergleichen
17.07.2003 09:25:52
Hajo_Zi
Hallo Mareike
ich Vermute mal es geht um VBA??
Wo ist der bisherige Code??
Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige