2.6k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo
Ich Bitte um Hilfe da ich mit Makro zu wenig auskenne.

Folgendes Anliegen an die Profis.
Ich möchte von der der 1.Seite "Blanko" das heutige Datum (H12) sowie die Zellen F50:I50 auf die folgenden nächsten Seiten "Monate Januar - Dezember" übertragen. Dazu sollte das Makro den Monat finden und die Daten ab der Zeile A5 eintragen.
In A5 sollte das Datum ersichtlich sein, und ab B5 bis E5 die Daten aus "Blanko F50-I50.Anschliessend nach der eingabe ein Zeile nach unten also A6 für den nächsten eintrag.

10 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
hallo,

leider nicht ohne weiteres verständlich.

Vielleicht kannst du eine Beispieltabelle zur Verfügung stellen

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all :-)

ein beispiel ^^

nach eingabe des datums in h12 erfolgt eine kopie wie gefordert

gruss nighty

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 8 And Target.Row = 12 Then
Worksheets(MonthName(Month(Worksheets("Blanko").Range("H12")))).Range("A" & Worksheets(MonthName(Month(Worksheets("Blanko").Range("H12")))).Cells(Rows.Count, 1).End(xlUp).Row + 1) = Worksheets("Blanko").Range("H12")
Worksheets("Blanko").Range("F50:I50").Copy Sheets(MonthName(Month(Worksheets("Blanko").Range("H12")))).Range("B" & Worksheets(MonthName(Month(Worksheets("Blanko").Range("H12")))).Cells(Rows.Count, 2).End(xlUp).Row + 1)
End If
Application.EnableEvents = True
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all :-)

gruss nighty

einzufuegen

alt+f11/projektexplorer/Blanko
0 Punkte
Beantwortet von
Hei nighty
Danke für deine Antwort. nur ich erhalte einen Laufzeit fehler 424.

Ich versuchs mal anders zu formulieren: Villeicht hilft dies besser

Ansicht:

1. Seite ist die "Blanko" seite
2. Seite "Januar"
3. Seite "Februar
4. Seite März
5. usw. bis Dezember


Auf der "Blanko" Seite ist das Datum (=Heute()) in der Zelle H12
auf der gleiche Seite (F50 bis I50) sind werte eingetragen.


Nun möchte ich mit einem Makro aus der Seite "Blanko" das Datum aus (H12) auf den heutigen Monat also JULI in die Zelle A5, sowie die werte aus "Blanko" (F50-I50) in die zellen B5-E5 eingetragen werden.
Die nächsten einträge (Datum und werte) sollen auf die nächste zeilen kommen.


Danke schon mal für die Tolle Arbeit

Tanf
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi tanf :-)

zellen vielleicht geschuetzt,oder verbundene zellen :-))

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi tanf :-)

die monate sollten so aussehen

Januar/Februar/März usw,vielleicht falsch betitelt,ein leerzeichen wuerde schon nicht mehr akzeptiert werden,groß klein schreibung auch beachten,denk ich :-))

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi tanf :-))

oder schick mir eine mustertabelle,ich fuege es dann lauffaehig ein

oberley@t-online.de

@admin
ich liebe spam :-))

gruss nighty
0 Punkte
Beantwortet von Experte (6.4k Punkte)
ich liebe spam :-))


Hier gibt's jede Menge für Dich:
www.spam.com/products/default.aspx
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi supporter2010 :-))

korrigiere mich oder verkuerze den code,das waere interessant :-))

mit union koennte man vielleicht noch eine zeile weniger haben :-)

ein fehler ist auch noch enthalten,der die lauffaehigkeit bedingt einschraenkt,aber den hast du sicherlich entdeckt :-)))

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all :-)

es kam nun die steuerelement toolbox zum einsatz mit einem button

gruss nighty

die fehler im obigen makro waren die kopie eigenschaften,wurde durch werte kopie korrigiert

und der code ist vielleicht uebersichtlicher :-)))

einzufuegen
alt+f11/projektexplorer/DeineTabelle (in diesem falle blanko)

Private Sub CommandButton1_Click()
Dim Lzeile As Long
With Worksheets(MonthName(Month(Worksheets("Blanko").Range("H12"))))
.Range("B40:E40") = ""
Lzeile = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range("A" & Lzeile) = Worksheets("Blanko").Range("H12").Value
Worksheets("Blanko").Range("F50:I50").Copy
.Range("B" & Lzeile).PasteSpecial Paste:=xlValues, Operation:=xlNone
.Range("B40") = Application.WorksheetFunction.Sum(.Range("B5:B39"))
.Range("C40") = Application.WorksheetFunction.Sum(.Range("C5:C39"))
.Range("D40") = Application.WorksheetFunction.Sum(.Range("D5:D39"))
.Range("E40") = Application.WorksheetFunction.Sum(.Range("E5:E39"))
End With
End Sub
...