ich habe eine Tabelle mit verschiedenen Daten, beider als Paltenüberschrift
Monatsmane stehen (Januar, Febriuar etc.)
Nun möchte ich diese Daten via VBA in eine neue Tabelle kopieren, aber
wenn's geht immer nur die Daten des aktuellen Monats anhängen. Gibt es
irgend eine Abfragemöglichkeit für diesen Spaltenüberschrift also in dem
Stil es ist heute Mai gehe in Spalte 5 wähle Range f2:f60 ?
Wie macht ma das in VBA? danke für Eure Tips !!
Iris Kuhn
Dr. Iris Kuhn schrieb:
angenommen, die Daten stehen in Tabelle1 und sollen nach Tabelle2 übertragen werden.
Sub MonateKopieren()
Dim lngLastRow As Long
Dim intSpalte As Integer
intSpalte = Month(Date)
' erste leere Zelle in Zielblatt
lngLastRow = Worksheets("Tabelle2").Range("A65536").End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(lngLastRow, "A").Resize(59, 1).Value = _
Worksheets("Tabelle1").Range(Cells(2, intSpalte), Cells(60, intSpalte)).Value
End Sub
Ich gehe davon aus, dass die Monate ab Spalte A stehen.
A=Januar
B=Februar
...
Wenn die Monatsspalten z.B. in Spalte B anfangen sollten, addiere zu der
Variablen intSpalte die zusätzliche Anzahl Spalten, also:
intSpalte=Month(Date)+1
--
Mit freundlichen Grüssen
Melanie Breden
- Microsoft MVP für Excel -
http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
Dein Code schreibt, die neuen Daten in die gleiche Spalte des neuen Blattes
hinter die alten Daten. Wie mach ich es sie nebendran bzw in eine bestimmte
Spalte zu schreiben ?
Wie lässt man vo Ablauf des Makros den Monat auswählen und kopiert dann nur
diesen ?
Danke für die tips und bis bald
Iris
"Melanie Breden" <Melanie.Br...@mvps.org> schrieb im Newsbeitrag
news:c7861l$q5vg$1...@ID-200118.news.uni-berlin.de...
Dr. Iris Kuhn schrieb:
> Dein Code schreibt, die neuen Daten in die gleiche Spalte des neuen Blattes
> hinter die alten Daten. Wie mach ich es sie nebendran bzw in eine bestimmte
> Spalte zu schreiben ?
dann muss die erste freie Spalte in Zeile 1 gesucht werden.
> Wie lässt man vo Ablauf des Makros den Monat auswählen und kopiert dann nur
> diesen ?
Das kannst du über eine InputBox erfragen.
Es wird ein Monatsname in ausgeschriebener Scheibweise erwartet, z.B. "Mai":
Sub MonateKopieren()
Dim strMonth As String
Dim intCol As Integer
Dim intLastCol As Integer
strMonth = InputBox("Welcher Monat soll kopiert werden?", , _
MonthName(Month(Date)))
If strMonth = "" Then Exit Sub
On Error Resume Next
intCol = Month("1." & strMonth)
If Err Then
MsgBox "fehlerhafte Eingabe, Prozedur wird beendet.", vbExclamation
Exit Sub
End If
intLastCol = Worksheets("Tabelle2").Cells(1, 256) _
.End(xlToLeft).Column + 1
Worksheets("Tabelle2").Cells(1, intLastCol).Resize(60, 1).Value = _
Worksheets("Tabelle1").Cells(1, intCol).Resize(60, 1).Value
End Sub
Iris
"Melanie Breden" <Melanie.Br...@mvps.org> schrieb im Newsbeitrag
news:c78h78$12jlo$1...@ID-200118.news.uni-berlin.de...