Microsoft Excel

Herbers Excel/VBA-Archiv

datumsabhängigen Makro

Betrifft: datumsabhängigen Makro von: Niels
Geschrieben am: 12.08.2004 13:53:47

Hallo,

ich sitze schon seit Tagen vor einem kniffligen Problem, bei dem mir wohl nur Makro-Profis helfen können...

Ich versuch´s mal zu erklären:

1. Schritt

In Tabelle "XXX" stehen in der in Spalte A - Daten (Datum).
In den Spalten B:J stehen numerische Werte.

Ich benötige einen Makro der mir genau die Zellen der Spalten B:J markiert/kopiert, bei denen in Spalte A ein Datum zu finden ist.

In Spalte A stehen jeden Tag unterschiedlich viele Daten (Datum), sodass man im Makro keinen festgelegten Bereich definieren kann. Welches Datum dort steht ist egal. Der Makro soll nur erkennen ob es ein Datum ist und die dazugehörigen Werte in B:J markieren / kopieren. (Die Daten (Datum) sind immer größer/gleich heute)

2. Schritt

In der Tabelle "ZZZ" stehen in Spalte A wieder Daten (Datum).
In A1 ist der 1. Tag des jeweiligen Monats, in A2 der 2. usw. (Z.B. A1 = 01.08.04)

Jetzt soll der Makro, die aus Tabelle "XXX" kopierten Werte in Tabelle "ZZZ" einfügen. Das knifflige ist nun , dass die Werte ab der Zeile mit dem heutigen Datum (Today)in B:J eigefügt werden sollen.

...nochmal auf deutsch...

der Makro soll in "ZZZ" nach der Zeile mit dem heutigen Datum suchen (z.B. 12.08.04 = A12)und die aus "XXX" kopierten Werte in B12:J??? kopieren.


Hab ich das einigermaßen nachvolziehbar erklärt?
Ich hoffe, dass mir jemand helfen kann und würde mich über eine Antwort sehr freuen ;o(

Viele Grüße

Niels

  


Betrifft: AW: datumsabhängigen Makro von: Beni
Geschrieben am: 12.08.2004 16:16:48

Hallo Niels,
dieses Makro überträgt eine Zeile entspechend dem Datum,
was ich nicht verstehe ist, im 1.Schritt schreibt Du, dass es unterschiedlich viele Daten (Datum) geben kann und im 2.Schritt nach dem heutigen Datum suchen (z.B. 12.08.04 = A12)und die aus "XXX" kopierten Werte in B12:J???, gibt es in "ZZZ" auch mehrere gleiche Datums.
Gruss Beni


Sub Daten_übertragen()
Dim intRow As Integer
Sheets("XXX").Select
   For intRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row
      If Cells(intRow, 1) = Date Then
      With Sheets("ZZZ")
        lz = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Dat = Cells(intRow, 1)
        Set D = .Cells.Find(What:=Dat, LookIn:=xlValues, LookAt:=xlWhole)
        If Not D Is Nothing Then
        Range(Cells(intRow, 1), Cells(intRow, 10)).Copy D(1, 2)
        End If
      End With
      End If
   Next intRow
End Sub