Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

makro - tabelle





Frage

Hallo zusammen Habe noch nicht so viel Erfahrung beim Makroschreiben (Neuland). Nun habe ich folgende Aufgabe gestellt bekommen. In Tabelle1 habe ich eine „Maske“ (in verschiedenen Zellen werden Zahlen und die Adresse eingetragen). In Tabelle2 ist die Offerte für den Kunden zum Ausdrucken. Zum Ausdrucken habe ich ein Makro aufgezeichnet, um mehrere Kopien der Offerte auf einmal auszudrucken. Nun möchte ich in Tabelle3, dass wenn ich die Offerte ausdrucke, die aktuellen Zahlen mit der Adresse in eine Zeile geschrieben wird und zwar immer in die unterste die leer ist, so dass ich am Schluss eine Liste habe mit Offerten die ich gemacht habe. Vielen dank für eure Hilfe im voraus Maxli

Antwort 1 von coros

Moin Maxli,

es fehlen noch ein paar Angaben. Die Daten, die kopiert werden sollen stehen in welchen Zellen? Ich gehe mal davon aus, dass sie nicht in einer Zeile stehen. In welche Spalten sollen diese Daten dann in der 3.Tabelle kopiert werden. Ich habe Dir mal eben schnell ein Makro erstellt, dass das 2.Tabellenblatt mit 2 Kopien druckt und dann Werte aus den Celle A3, B5, C7 kopiert und sie in das 3.Tabellenblatt in die erste freie Zeile einfügt. Das Makro muss in ein standardmodul kopiert werden.

Sub Drucken_und_kopieren()
Dim Zeile As Long
'********************************************************************
'erste freie Zeile in Tabelle3 ermitteln
'********************************************************************
Zeile = Worksheets(3).Range("A65536").End(xlUp).Offset(1, 0).Row
'********************************************************************
'2.Tabellenblatt Drucken mit 2 Kopien
'********************************************************************
Worksheets(2).PrintOut Copies:=2, Collate:=True
'********************************************************************
'Wert in 2.Tabelle Zelle A3 kopieren und in 3.Tabelle Spalte A in der
'ersten freien Zeile einfügen
'********************************************************************
Worksheets(2).Range("A3").Copy
Worksheets(3).Range("A" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'********************************************************************
'Wert in 2.Tabelle Zelle B5 kopieren und in 3.Tabelle Spalte B in der
'ersten freien Zeile einfügen
'********************************************************************
Worksheets(2).Range("B5").Copy
Worksheets(3).Range("B" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'********************************************************************
'Wert in 2.Tabelle Zelle C7 kopieren und in 3.Tabelle Spalte C in der
'ersten freien Zeile einfügen
'********************************************************************
Worksheets(2).Range("C7").Copy
Worksheets(3).Range("C" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Nicht erschrecken, wenn das MAkro nach sehr viel text aussieht, aber ich habe zum besseren Verständnis die einzellnen Anweisungen kurz Auskommentiert, damit Du nachvollziehen kannst, was in welcher zeile passiertt.

Ich hoffe, Du kannst mit dem Makro was anfangen. Bei Fragen oder Problemen melde Dich wieder.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von maxli

Hallo

Zum besseren Verständnis meines Problems noch ein paar Ausführungen.

z.b. In Tabelle1 Zelle A13 = Zahl 50 Zelle A14 = Zahl 60 Zelle A15 = Summe A13:A14
Nun möchte ich, dass der Wert von Zelle A13, A14 und Summe A15 in Tabelle3 geschrieben wird: Tabelle1 A13 = Tabelle3 A2; Tabelle1 A14 =Tabelle3 B2und Tabelle1 A15 = Tabelle3 C2. Anschliessend gebe ich in der Tabelle1 andere Zahlen ein und die sollten dann in Tabelle3 A3, B3, und C3 geschrieben werden usw.
Natürlich sind es noch mehr Zellen, aber ich denke mit dem Lösungsansatz bringe ich den Rest selber zusammen – vielleicht!!!

Danke für euere Bemühungen
Maxli


Antwort 3 von coros

Moin Maxli,

hier mal der obige Code geändert für die Zellen in Deinem Beispiel.

Sub Drucken_und_kopieren()
Dim Zeile As Long
'********************************************************************
'erste freie Zeile in Tabelle3 ermitteln
'********************************************************************
Zeile = Worksheets(3).Range("A65536").End(xlUp).Offset(1, 0).Row
'********************************************************************
'2.Tabellenblatt Drucken mit 2 Kopien
'********************************************************************
Worksheets(2).PrintOut Copies:=2, Collate:=True
'********************************************************************
'Wert in 1.Tabelle Zelle A13 kopieren und in 3.Tabelle Spalte A in der
'ersten freien Zeile einfügen
'********************************************************************
Worksheets(1).Range("A13").Copy
Worksheets(3).Range("A" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'********************************************************************
'Wert in 1.Tabelle Zelle A14 kopieren und in 3.Tabelle Spalte B in der
'ersten freien Zeile einfügen
'********************************************************************
Worksheets(1).Range("A14").Copy
Worksheets(3).Range("B" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'********************************************************************
'Wert in 1.Tabelle Zelle A15 kopieren und in 3.Tabelle Spalte C in der
'ersten freien Zeile einfügen
'********************************************************************
Worksheets(1).Range("A15").Copy
Worksheets(3).Range("C" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Wenn Du noch mehr Zellen kopieren möchtest, kopiere immer die Zeilen

Worksheets(1).Range("XX").Copy
Worksheets(3).Range("X" & Zeile).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False


und füge die Zeilen vor dem Text

End Sub

wieder ein. Dann ersetze das X gegen die Zellbezeichnung der Zelle, die kopiert werden soll.

Ich hoffe, das hilft Dir erst einmal weiter. Bei Fragen oder Problemen melde Dich wieder.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von maxli

Hallo coros
Genau diesen Lösungsvorschlag hat mir weitergeholfen. Vielen Dank für deine Hilfe.
Bin superfroh!!
maxli