2017-07-20 10 views
2

Ich habe eine Arbeitsmappe mit 2 Arbeitsblättern, die erste mit einem großen Bereich von Daten und Formeln und die zweite enthält zwei leere Tabellen mit bestimmten Datum von Blatt1 gefüllt werden. Sheet1 hat eine Spalte mit Datenbereichen ("DK7: DK39"), die vom 01.05.1986 bis 01.05.2018 reichen. Jedes Mal, wenn das erste Datum in dieser Spalte geändert wird ("DK7"), werden alle anderen Daten in den folgenden Jahren automatisch auf den gleichen Tag im angegebenen Jahr aktualisiert. Mit diesen Änderungen werden zwei separate Spalten mit neuen Daten neu gefüllt, die basierend auf datumsspezifischen Daten ermittelt werden.For Next Schleife mit zwei Anweisungen - Kopieren und Einfügen

Ich versuche, einen Code auszuführen, der eine Reihe von Tagen durchlaufen wird, für die ich Daten (5/1 bis 8/28) brauche, den Wert der Zelle ("DK7") zu jedem Datum in diesem Bereich ändern . Ich brauche jedoch die Schleife, um auch Daten aus den zwei Datenspalten ("DS7: DS38") & ("DT7: DT38") in die zwei Tabellen auf Blatt 2 zu kopieren, die die Jahre 1986-2017 als y-Achse haben Spalte und 5/1 bis 8/28 als die X-Achsenreihe. Ich habe herausgefunden, wie man das Datum durch die Zelle ("DK7") führt, kann aber die Kopie & nicht einfügen, die in das zweite Arbeitsblatt in entsprechenden Jahres-/Datumsspalten eingefügt wird. Jede Hilfe sehr geschätzt, danke.

Private Sub CommandButton1_Click() 

Dim i As Date 
For i = ("5/1/1986") To ("8/28/1986") 
Range("DK7").Value = i 

Worksheets(1).Range("DS7:DS38").Copy 
Worksheets(2).Range("D4:E36").PasteSpecial 

Next i 

End Sub 

Antwort

0

Dies ist eine gute Art und Weise durch die Termine in einer Schleife:

Public Sub TestMe() 

    Dim i As Date 
    For i = DateSerial(1986, 5, 1) To DateSerial(1986, 8, 28) 
     Debug.Print i 
    Next i 
End Sub 

Stellen Sie sicher, DateSerial()function verwenden, da es einen großen Unterschied zwischen Datumsformate auf der ganzen Welt ist.

Verwandte Themen