Excel 2003 Makro erstellen

Wer kann mir helfen ?
Ich habe 2 Tabellenblätter zusammengefasst in einer Excel Mappe.
Tab1 besteht aus ca 150 Zeilen und ca 12 Spalten.
Jedes Feld enthält entweder Text od. Zahlen.
Ich möchte aus Tab1 den Inhalt verschiedener Zellen in Tab2 in ganz bestimmte Zellen einfügen. Angefangen mit Zeile 1 und nachdem die ausgewählten Zellen von Zeile 1 alle in die dafür vorgesehenen Zellen in Tab2 übertragen wurden - Tab2 als einzelnes Blatt ausdrucken. Dann weiter mit Zeile 2 den
Vorgang wiederholen und am Ende als Einzelblatt wieder ausdrucken. Dieses auf alle Zeilen ( 150) anwenden, wobei die Zeilenzahl auch differieren kann (zwischen 110 und 150).
Derzeit habe ich ein Makro angefertigt das diese Arbeit auch erledigt (jetzt ca 15 Mal da der nachfolgende Befehlssatz 15x kopiert wurde und die Zellbezüge manuell angepasst wurden)- aber für ca 15oZeilen sollte doch eine Automatisierung möglich sein. Hier nun ein Befehlssatz wie ich ihn derzeit benutze und nur mit Copy und Veränderung der Zellbezüge auch zum Laufen bringe.

x1
Range(„A11:C11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C“
Range(„D11:E11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C[-2]“
Range(„F11:I11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C[-3]“
Range(„J11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C[-6]“
Range(„G12:J13“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-11]C“
Range(„J15“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-14]C[-2]“
Range(„C14:E14“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-13]C[9]“
Range(„G14:J14“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-13]C[6]“
Range(„G15:I15“).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
’ x2
Range(„A11:C11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-9]C“
Range(„D11:E11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-9]C[-2]“
Range(„F11:I11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-9]C[-3]“
Range(„J11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-9]C[-6]“
Range(„G12:J13“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C“
Range(„J15“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-13]C[-2]“
Range(„C14:E14“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-12]C[9]“
Range(„G14:J14“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-12]C[6]“
Range(„G15:I15“).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
’ x3
Range(„A11:C11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-8]C“
Range(„D11:E11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-8]C[-2]“
Range(„F11:I11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-8]C[-3]“
Range(„J11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-8]C[-6]“
Range(„G12:J13“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-9]C“
Range(„J15“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-12]C[-2]“
Range(„C14:E14“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-11]C[9]“
Range(„G14:J14“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-11]C[6]“
Range(„G15:I15“).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1

Ich hoffe mir kann jemand helfen ?! Auf jeden Fall schon mal DANKE!

Hallo Bogey,

ich hab mir jetzt nur den Code angesehen und äußerst flüchtig den Text
gelesen.

Du schreibst:

Range(„A11:C11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C“

warum drei Zellen markieren wenn du nur in eine was reinschreiben willst?
Es ist nur eine Zelle, kannste testen:
Sub tt()
Range(„A11:C11“).Select
MsgBox ActiveCell.Address
End Sub

Ergo könnte das schon so aussehen:
Range(„A11“).Select
ActiveCell.FormulaR1C1 = „=Übertrag!R[-10]C“

Select ist zu >99% unnötig.
Schreib sowas so:
Range(„A11“).FormulaR1C1 = „=Übertrag!R[-10]C“

Verändere bitte dementsprechend x1 und zeige das dann hier wieder,
dann muß das nicht jeder Helfer tun.

Deine Zellhüpfereien in x1 sehen auf den ersten Bilck nicht so
aus als ob es da eine gute Logik gäbe um diese Codezeilen in x1
durch eine einzige zu ersetzen die in einer Schleife alle abklappert,
aber mal schauen.

Für x1,x2,x3, usw. sieht das dagegen schon mal gut aus,
da sehe ich Möglichkeiten in einer Schleife zu arbeiten.

Mein Spontaneindruck, zeige mal den neuen Code für x1 dann schaue ich
genauer und lese auch deinen Text :smile:

Gruß
Reinhard

Hallo Reinhard,
danke, dass Du so schnell Dich mit meinem Problem befasst hast. Leider muss ich das Ausprobieren Deiner Vorschläge erstmal auf Weihnachten verschieben - zuviel Arbeit im Büro - aber spätestens im Neuen Jahr habe ich es mindestens einmal getestet. Nun noch zu Deiner Frage, warum in x1 und auch in den Folgenden, manche Zellen zusammengefasst worden sind? das hat die Ursache in einer Zellverknüpfung. Da das TabBlatt2 wie eine Maske aufgebaut ist - und um die Datensätze aus den einzelnen Zellen von Tab1 in voller Länge widerzuspiegeln (in Tab2) brauche ich zeitweise eine Zellverknüfpung. Hoffe Du kannst mit meinen Begriffen etwas anfangen.
Also nochmals Vielen Dank für Deine bisherigen Mühen - schöne Feiertage und einen Guten Rutsch
Franz

Nun noch zu Deiner Frage, warum in x1 und auch in
den Folgenden, manche Zellen zusammengefasst worden sind? das
hat die Ursache in einer Zellverknüpfung. Da das TabBlatt2 wie
eine Maske aufgebaut ist - und um die Datensätze aus den
einzelnen Zellen von Tab1 in voller Länge widerzuspiegeln (in
Tab2) brauche ich zeitweise eine Zellverknüfpung. Hoffe Du
kannst mit meinen Begriffen etwas anfangen.

Hallo Franz,

verknüpfte Zellen? Igittigitt :frowning:

Wenn es eh neues Jahr wird, dann stelle die Anfrage neu ein.
Bitte dann den Mod diese Beitragsfloge zu löschen.
Ändere bitte wie gesagt x1 ab und teste es, wenn es funktioniert,
so zeige uns deine Mappe samt bisherigen Code.

Hochladen mit dem obersten Link in FAQ:2606
Die Mappe kannste ja anonymisieren, wichtig ist die
Tabellenstruktur bleibt erhalten.

Gruß
Reinhard

Hallo Reinhard, bin doch schon jetzt dazu gekommen Deine Anregungen einzubauen und sie funkt. ( aber das war Dir sicherlich klar ) ich hab mir mal erlaubt die angesprochenen 2 Tab-Blätter (mit syntet. Daten)in Dropbox hochzuladen. Hier der Link - das veränderte Makro ist da hoffentlich mit hochgeladen worden…
https://www.dropbox.com/sh/bi3de59kbrcr7td/2TDVEaelp0
Wie ich schon in meiner ersten Darstellung erwähnte, habe ich ca 150 bis 200 Einträge in dem Tab-Blatt „BASIS“ und jeder einzelne dieser Einträge soll „Einer nach dem Anderen“ abgearbeitet werden. Nachdem Du mir meine Datensätze ja vereinfacht hast, benötige ich jetzt eigentlich nur noch eine Schleife die solange läuft, wie eine fortlaufende Nummer in Spalte A ist. Glaubst Du das ist überhaupt machbar? Hatte schon jede Menge Literatur gewälzt aber keine schlüssiger Lösung gefunden.
Wie auch immer - vielen Dank im voraus und schöne angenehme Feiertage.
Franz

hallo Franz,

Deine :Anregungen einzubauen und sie funkt. ( aber das war Dir
sicherlich klar )

Prinzipiell ja, bin überzeugt das ist der richtige Ansatz.
Aber da ungetestet kann sich immer mal ein Fehler im Code
einschleichen.

ich hab mir mal erlaubt die angesprochenen 2
Tab-Blätter (mit syntet. Daten)

synthetische daten? :smile: Egal, werde ich ja sehen wenn ich die Mappe
öffne. Äh heut nicht mehr, muß morgen früh raus :frowning:

https://www.dropbox.com/sh/bi3de59kbrcr7td/2TDVEaelp0

benötige ich jetzt eigentlich nur noch eine
Schleife die solange läuft, wie eine fortlaufende Nummer in
Spalte A ist. Glaubst Du das ist überhaupt machbar?

Ich sage mal ja. Aber ohne lange Knarre äh Gewehr.
Wie sagte der bayerische Kaiser, „Schaun wir mal“ *gg*

Wie auch immer - vielen Dank im voraus und schöne angenehme
Feiertage.

Dito

Gruß
Reinhard, der es amm angenehmsten findet wenn grad W rum ist :smile: