Excel Makro

Decathalon

Cadet 2nd Year
Registriert
März 2009
Beiträge
27
Hallo zusammen,

hab das Problem, dass ich ein Makro benötige:

Ich habe 10 Tabellenblätter durchnummeriert von 1 - 10, jedes dieser Tabellenblätter hat genau 15 Zeilen und 5 Spalten mit Inhalt.

Nun möchte ich in einem neuen Tabellenblatt über ein Makro eines der Tabellenblätter 1 - 10 abfragen und den Bereich (15 Zeilen und 5 Spalten) in einen bestimmten Bereich der neuen Tabelle kopieren.

Hab schon kleinere Makros erstellt, hier hört meine Kenntnis aber leider auf.

Könnt ihr mir helfen?

Gruß Steffen
 
Ist eigentlich recht einfach gemacht. Braucht bloß ein bißchen Kopierarbeit:

Man kann einen Bereich definieren + diesen per Makro dann sich anzeigen lassen:

Ein neues Tabellenblatt erstellen (z.B. Hauptformular) > Einfügen > Namen > Definieren > für das erste Tabellenblatt (z.B. Tabelle1) folgenden Namen + Formel eingeben:

Inhalt_Tabelle1_alles
Code:
=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;ANZAHL2(Tabelle1!$A:$A);ANZAHL2(Tabelle1!$1:$1))

Dann ein neues Makro 'Inhalt_Tabelle1_einfügen' erstellen:
Code:
Sub Inhalt_Tabelle1_einfügen()
Range("A1").Select
ActiveCell.FormulaR1C1 = "=Inhalt_Tabelle1_alles"
Selection.Copy
Range("A1:E15").Select
ActiveSheet.Paste
End Sub

Die beiden Schritte für die 9 anderen Tabellenblätter auch machen (Bereich definieren ; Makro erstellen).

Wenn jetzt z.B. das Makro für Tabelle1 aufgerufen wird, dann kopiert er den Bereich A1 bis E15 des Tabellenblatts Tabelle1 in das Hauptformular. Wenn man nun das Makro für Tabelle 2 aufruft, der Inhalt von Tabelle2 usw.

Die Makros einfach als Buttons irgendwo hinterlegen.
 

Anhänge

  • Bezug.zip
    Bezug.zip
    8 KB · Aufrufe: 143
  • bezug.gif
    bezug.gif
    28,1 KB · Aufrufe: 139
Zuletzt bearbeitet:
Danke für die schnelle Antwort,

das Makro ist klasse. Allerdings müsste ich die "festen" Daten der 10 Tabellen in der Zieltabelle untereinander anordnen und müsste somit jedem Makro einen definierten Zielbereich vorgeben.

Wie mach ich das? Hab schon viel versucht, aber bin nicht wirklich zum Ziel gekommen.

Als Beispiel:

Ich möchte den Bereich A1-E15 der zweiten Tabelle in die Zieltabelle übertragen, somit müsste ich auf meinen Button "2" klicken. Und Excel soll mir anschließend die Daten nicht im Bereich A1:E15 einfügen, sondern eben A16-E30, da es ja die zweite Tabelle ist. Die Daten der dritten Tabelle dann eben bei A31-E45.

Gruß Steffen
 
Ich kapier gerade nicht, was Excel da macht :freak:. Hier erst einmal die Behelfslösung:

Makro für Button2:
Code:
Sub Inhalt_Tabelle2_einfügen()
    Range("A16").Select
    ActiveCell.FormulaR1C1 = "=Inhalt_Tabelle2_alles"
    Selection.Copy
    Range("A16:E30").Select
    ActiveSheet.Paste
End Sub

Im Tabellenblatt2 müssen die Daten in A1 bis A15 kopiert sein + zusätzlich in A16 bis E30 nochmals. Warum auch immer :freak:

Dann funktioniert es erst einmal. Muß nochmals drüber schauen.

//EDIT:
Jetzt ein ganz anderer Weg (ohne Namen definieren usw. ; ist glaube besser, da ich grad nicht den Fehler finde):

-Tabellenblatt 'Hauptformular' erstellen
-Folgende Makros erzeugen:
Code:
Sub Inhalt_Tabelle1_kopieren()
    Sheets("Tabelle1").Select
    Range("A1:E15").Select
    Selection.Copy
    Sheets("Hauptformular").Select
    Range("A1").Select
    ActiveSheet.Paste
End Sub
 
 
Sub Inhalt_Tabelle2_kopieren()
    Sheets("Tabelle2").Select
    Range("A1:E15").Select
    Selection.Copy
    Sheets("Hauptformular").Select
    Range("A16").Select
    ActiveSheet.Paste
End Sub
 
usw. usw.
Es wird der Inhalt vom jeweiligen Tabellenblatt von A1 bis A15 genommen und an die entsprechende Stelle im Hauptformular kopiert.
 
Zuletzt bearbeitet:
Zurück
Oben