Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
504to508
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
504to508
504to508
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum suchen

Datum suchen
24.10.2004 11:41:33
Uwe
Hallo fleißige Helfer,
wer kann mein VBA so verändern, dass es nach der Monatsabkürzung in einer Spalte sucht.
Erklärung:
ich gebe in einer Zelle ( F6 ) einen Monat mittels Gültigkeit vor
( z.B. Feb. ) und mein VBA soll im Datenblatt " Daten " in Spalte
( T1:T1001 ) diesen Monat suchen und ins Datenblatt " Kundenbesuche "
kopieren. Die Zellen T1:T1001 sind aber als Datum ( 15.Feb.02 )
formatiert um KW zu berechnen.
Kann jemand mein VBA modifizieren oder ist diese Suche gar nicht möglich ?
Hier mein VBA zum besseren Verständnis :

Sub Kunden_Monat()
Dim zelle As Range
Dim zielzeile As Integer
Range("a10:u1000").ClearContents ' bereich löschen
For Each zelle In Worksheets("daten").Range("T1:T1001")
zielzeile = Worksheets("Kundenbesuche").Range("a65536").End(xlUp).Row + 1 'einfügezeile bestimmen
If zelle.Value = Worksheets("Kundenbesuche").Range("f6").Value Then 'jede zelle in T1:T1001 abfragen
Worksheets("daten").Range("a" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 1) 'jede relevante zelle kopieren und einfügen
Worksheets("daten").Range("d" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 2)
Worksheets("daten").Range("e" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 3)
Worksheets("daten").Range("h" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 4)
Worksheets("daten").Range("m" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 5)
Worksheets("daten").Range("p" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 6)
End If
Next
End Sub

Danke im Vorraus
Gruß
Uwe R.

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

Betreff
Datum
Anwender
Anzeige
AW: Datum suchen
24.10.2004 12:10:44
Josef
Hallo Uwe.
So sollte es klappen.
If Month(zelle) = Month(DateValue("01/" & Worksheets("Kundenbesuche").Range("f6") & "/00")) Then
Gruß Sepp
AW: Datum suchen
24.10.2004 12:25:03
Uwe
Hallo Sepp,
ich habe in meinem VBA die Zeile :
If zelle.Value = Worksheets("Kundenbesuche").Range("D6").Value Then 'jede zelle in T1:T1001 abfragen
durch Deine Zeile :
If Month(zelle) = Month(DateValue("01/" & Worksheets("Kundenbesuche").Range("f6") & "/00")) Then 'jede zelle in T1:T1001 abfragen
ersetzt, aber das klappt nicht - Fehlermeldung :
Laufzeitfehler '13' Typen unverträglich
Kannst Du das deuten ?
Uwe R.
Anzeige
AW: Datum suchen
24.10.2004 12:31:50
Josef
Hallo Uwe!
Ich hab' den "." in deinen Monatsabkürzungen übersehen!
Nimm
Month(DateValue("01/" & Left(Range("C1"), 3) & "/00"))
dann sollte es klappen.
Gruß Sepp
AW: Datum suchen
24.10.2004 12:40:05
Uwe
Hallo Sepp,
das verstehe ich jetzt nicht, wo steht in der neuen Lösung von Dir mein Bezug auf
" Worksheets("Kundenbesuche").Range("f6") " und was bedeutet der Eintrag
" Left(Range("C1"), 3) " von Dir.
Sorry aber ich möchte es auch verstehen und so lernen.
Uwe R.

AW: Datum suchen
24.10.2004 12:43:35
Josef
Hallo Uwe!
Sorry, aber hab' in der Eile meinen Code genommen.
Es muss bei dir natürlich
Month(DateValue("01/" & Left(Worksheets("Kundenbesuche").Range("f6"), 3) & "/00"))
heissen.
Left(...... - bedeutet, das nur die ertsen drei Zeichen aus der Zelle "F6" genommen werden.
Gruß Sepp
Anzeige
AW: Datum suchen
24.10.2004 13:25:06
Uwe
Hallo Sepp,
Sorry wenn ich nerve aber ich erhalte immer wieder Laufzeitfehler Typen unverträglich.
Ich habe das gesammte VBA angehangen, für den Fall das mein Fehler wo anders steckt,
obgleich VBA immer dies Zeile gelb markiert :
If Month(zelle) = Month(DateValue("01/" & Left(Worksheets("Kundenbesuche").Range("f6"), 3) & "/00")) Then 'jede zelle in T1:T1001 abfragen
Hier mein kompl. VBA :

Sub Kunden_Monat()
Dim zelle As Range
Dim zielzeile As Integer
Range("a10:u1000").ClearContents ' bereich löschen
For Each zelle In Worksheets("daten").Range("T1:T1001")
zielzeile = Worksheets("Kundenbesuche").Range("a65536").End(xlUp).Row + 1 'einfügezeile bestimmen
If Month(zelle) = Month(DateValue("01/" & Left(Worksheets("Kundenbesuche").Range("f6"), 3) & "/00")) Then 'jede zelle in T1:T1001 abfragen
Worksheets("daten").Range("a" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 1) 'jede relevante zelle kopieren und einfügen
Worksheets("daten").Range("d" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 2)
Worksheets("daten").Range("e" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 3)
Worksheets("daten").Range("h" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 4)
Worksheets("daten").Range("m" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 5)
Worksheets("daten").Range("p" & zelle.Row).Copy _
Destination:=Cells(zielzeile, 6)
End If
Next
End Sub

DANKE
Anzeige
AW: Datum suchen
Ramses
Hallo
der Fehlerteufel steckt im Detail
Du frägst die linken 3 Zeichen ab !!!
Da ist mit Sicherheit ein Punkt dabei, weil bekanntlich nur max. 31 Tage existieren :-)
If Month(zelle) = Month(DateValue("01/" & Left(Format(Worksheets("Kundenbesuche").Range("f6"), "dd.mm.yyyy"), 2) & "/00")) Then
Zusätzlich kommt es auf die Formatierung an, wenn du nämlich nur einen Tag von 1. bis zum 9. hast, hängt die Abfrage auf, wenn du auf 2 Stellen abfrägst. Das wird mit dere Format-Anweisung abgefangen.
Dann läuft das Ding.
Gruss Rainer
AW: Datum suchen
24.10.2004 17:20:37
Josef
Hallo Uwe.
Also bei mir läuft der Code!
Stimmen die Formatierungen?
Es wird allerding in der Tabelle "Kundenbesuche" die Zelle "F6"
überschrieben, dann kommt natürlich ein Laufzeitfehler.
Ausserdem werden die Daten immer in die aktive Tabelle geschrieben.
Gruß Sepp
Anzeige
AW: Datum suchen
Hübi
Hi Uwe.
ändere einfach die Zeile im Code um in:
If Month(zelle) = Month(Worksheets("Kundenbesuche").Range("f6")) Then 'jede zelle in T1:T1001 abfragen
und gebe entsprechend in F6 ein Datum ein (z.B. 1.2.04). Wenn F6 entsprechend formatiert ist, siehst du trotzdem Feb.
Gruß Hübi
AW: Datum suchen
Hübi
Hi Uwe,
oder wenn du unbedingt Feb. eingeben willst, versuch es so:
If Month(zelle) = Month("01/" & Left(Worksheets("Kundenbesuche").Range("f6"), 3) & "/00") Then 'jede zelle in T1:T1001 abfragen
Gruß Hübi
AW: Datum suchen / DANKE Hübi
24.10.2004 21:30:30
Uwe
Hallo Hübi,
Deine erste Lösung hat einwandfrei funktioniert !!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ich habe zwar eine der hinteren unbenutzten Spalten etwas misbraucht aber ist ja ega, nur der Erfolg zählt ( da im org. Zelle ( T1:T1001 ) das kompl. Datum stehen bleigen
muß habe ich einfach in Spalte Y in jede Zelle " =T1.....=T1001 " und anschließend
diese Zellen Als Datum " Jan.02 " formatiert und schon klapte es mit Deiner Formel
vom feinsten. DIe Spalte " Y " habe ich einfach auf die Breite 0,0 gebracht und schon ist sie verschwunden.
Danke nochmals, Du hast mein Wochenende noch gerettet ( solange versuche ich mich schon daran ).
Gruß
Uwe R.
Anzeige
AW: Datum suchen / DANKE Hübi
Hübi
Hi Uwe, hi alle weiteren Leser,
freut mich, dass es klappt (auch Vorschlag 2 funktioniert - alles getestet!!!!). Vor allem muss ich aber mal sagen, dass es wunderbar ist, wenn sich Hilfesuchende bedanken - so weiß man wenigstens, dass man seine "grauen Zellen" nicht umsonst eingesetzt hat.
Gruß Hübi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige