Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Daten von Vormonat in bestimmte Zelle
Vormonat
Hallo zusammen,
habe folgendes Problemchen. Ich benutze einen Button, um bestimmte Daten aus einem Quellsheet in ein Zielsheet (Sheet1) zu kopieren. Das hinterlegte Makro sucht dabei im Quellsheet (Sheet2) in Zeile 12 nach Datumsangaben vom heutigen Monat bis zum Monat in einem Jahr, also 12 Spalten. Diese 12 Monate werden ins Zielsheet kopiert sowie verschiedene Daten, die unter den Monatsnamen im Quellsheet stehen (siehe Code unten mit Beispiel Demand und Stock).
Nun ist es so, dass ich für den Stock auch noch die Daten vom Vormonat brauche. Die Daten für den Stock werden momentan für die Monate Nov 09 bis Nov 10 in den Bereich F9:R9 geschrieben.
Die Daten für den Stock vom Monat Oktober hätte ich gerne in der Zelle E9 stehen.
Sobald dann Dezember 09 ist, soll dann in E9 der Stock für Nov 09 geschrieben werden?
Jemand eine Idee, den Code zu erweitern?
Private Sub CommandButton1_Click()
Dim StartDate As Variant
Dim EndDate As Variant
Dim NewCol As Variant
Dim LastCol As Variant
Dim ColCount As Variant
Dim MyDate As Variant
Dim DestDates As Variant
Dim Dat As Variant
Dim StartCol As Integer
Dim MonthCount As Integer
Dim YearCount As Integer
StartDate = DateSerial(Year(Date), Month(Date), 1)  'Heutiger Monat, mit dem 1. Tag des Monats
EndDate = DateAdd("yyyy", 1, Date)  ' 1 Jahr später
With Sheets("Sheet1")    'With bis End With fügt die aktuellen 12 Monate im Zielsheet ein
Set DestDates = .Range("F7:R7") 'Zielzellen für Monatsnamen                                  _
_
StartCol = DestDates.Column     'Spalte 1 in DestDates
MonthCount = Month(StartDate)   'heutiger Monat ist Monat Nr. 1
YearCount = Year(StartDate)     'heutiges Jahr ist Jahr Nr. 1
For ColCount = StartCol To (StartCol + 12)  '12 Spalten=1Jahr
MyDate = DateSerial(YearCount, MonthCount, 1) 'startet bei erstem Datum
.Cells(7, ColCount).NumberFormat = "mmm-yy"
.Cells(7, ColCount) = MyDate    'Datum wird in zeile 7 geschrieben
If MonthCount = 12 Then         'Falls Monat 12 erreicht
MonthCount = 1              'wird Monatsnr. wieder 1
YearCount = YearCount + 1   'und neues Jahr wird addiert
Else
MonthCount = MonthCount + 1 'falls Monat nicht 12, dann immer eine Monatsnr.  _
addieren
End If
Next ColCount
End With
NewCol = 5 'column E
'ab hier werden Daten unter den Monatsnamen eingefügt:
Dim Demand As Integer
Dim Stock As Integer
With Sheets("Sheets2")   'Im Quell-Sheet "Sheet2" werden...
LastCol = .Cells(12, Columns.Count).End(xlToLeft).Column    'Spalten in Reihe 12 überprüft ( _
_
in Spalte 12 stehen die Monatsnamen)
For ColCount = 3 To LastCol
If IsDate(.Cells(12, ColCount)) Then    'falls heutiger Monat in Zeile 12 gefunden wird
MyDate = .Cells(12, ColCount).Value 'dann nimmt Mydate dessen Wert an
If MyDate >= StartDate And _
MyDate 

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten von Vormonat in bestimmte Zelle
10.11.2009 11:23:06
Vormonat
Moin,
ungetestet, ich weiss nicht wie sich das Makro nun auf deine Tabellen auswirken wird.
Auf jedenfall erstellt der erste Teile des Makros nun in Zeile 7 Datumsangaben von "Heute - 1 Monat bis Heute in einem Jahr.
Die veraenderten stellen habe ich mal "Fett" markiert
Ab "NewCol = 5 'column E" habe ich nichts veraendert.
Private Sub CommandButton1_Click()
Dim StartDate As Variant
Dim EndDate As Variant
Dim NewCol As Variant
Dim LastCol As Variant
Dim ColCount As Variant
Dim MyDate As Variant
Dim DestDates As Variant
Dim Dat As Variant
Dim StartCol As Integer
Dim MonthCount As Integer
Dim YearCount As Integer
StartDate = DateSerial(Year(Date), Month(Date) - 1, 1)  'Heutiger Monat, mit dem 1.  _
Tag des Monats
EndDate = DateAdd("yyyy", 1, Date)  ' 1 Jahr später
With Sheets("sheet1")    'With bis End With fügt die aktuellen 12 Monate im Zielsheet ein
Set DestDates = .Range("E7:R7") 'Zielzellen für Monatsnamen
StartCol = DestDates.Column     'Spalte 1 in DestDates
MonthCount = Month(StartDate)   'heutiger Monat ist Monat Nr. 1
YearCount = Year(StartDate)     'heutiges Jahr ist Jahr Nr. 1
For ColCount = StartCol To (StartCol + 13)  '13 Spalten=1Jahr
MyDate = DateSerial(YearCount, MonthCount, 1) 'startet bei erstem Datum
.Cells(7, ColCount).NumberFormat = "mmm-yy"
.Cells(7, ColCount) = MyDate    'Datum wird in zeile 7 geschrieben
If MonthCount = 12 Then         'Falls Monat 12 erreicht
MonthCount = 1              'wird Monatsnr. wieder 1
YearCount = YearCount + 1   'und neues Jahr wird addiert
Else
MonthCount = MonthCount + 1 'falls Monat nicht 12, dann immer eine Monatsnr. _
addieren
End If
Next ColCount
End With
NewCol = 5 'column E
'ab hier werden Daten unter den Monatsnamen eingefügt:
Dim Demand As Integer
Dim Stock As Integer
With Sheets("Sheets2")   'Im Quell-Sheet "Sheet2" werden...
LastCol = .Cells(12, Columns.Count).End(xlToLeft).Column    'Spalten in Reihe 12 überprü _
ft ( in Spalte 12 stehen die Monatsnamen)
For ColCount = 3 To LastCol
If IsDate(.Cells(12, ColCount)) Then    'falls heutiger Monat in Zeile 12 gefunden  _
wird
MyDate = .Cells(12, ColCount).Value 'dann nimmt Mydate dessen Wert an
If MyDate >= StartDate And _
MyDate 

Gruß
Yusuf
Anzeige
AW: Daten von Vormonat in bestimmte Zelle
10.11.2009 12:06:58
Vormonat
So meinte ich das eigentlich nicht. Dass in Zeile 7 die Monatsnamen von Heute bis in einem Jahr stehen, soll so bleiben.
In der Range F8:R8 stehen dann die zu den Monaten zugehörigen Daten von 'Demand' (Nov09-Nov10).
In der Range F9:R9 stehen die zu den Monaten zugehörigen Daten von 'Stock' (Nov09-Nov10).
Was neu dazu importiert/kopiert werden soll:
Ich möchte nur die Daten vom Stock des Vormonats in das Feld E9 geschrieben werden (Okt. 09). Es soll dafür keine eigene Spalte verwendet werden, sondern nur eine Zelle.
AW: Daten von Vormonat in bestimmte Zelle
10.11.2009 12:53:44
Vormonat
Hmm,
da bin ich dann leider ueberfragt.
Stelle es mal wieder auf offen.
Gruß
Yusuf
Anzeige
AW: Daten von Vormonat in bestimmte Zelle
10.11.2009 13:09:13
Vormonat
Ok, danke trotzdem.
Jemand weitere Tipps?

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige