Querformatige Tabelle in Word längs einfügen

Hallo Experten,
ich habe in Excel 2000 Tabellen im Querformat. Kann man die so wie sie sind, irgendwie um 90 Grad „drehen“, so dass man sie unter „Datei einfügen“ in Word einbinden kann?
Also ich meine nicht den Ausdruck, sondern eine echte Drehung, nicht nur der Zahlen, sondern das gesamte Layout.
Ich hab´s über den Umweg mit pdf versucht, aber vielleicht geht das ja auch anders.
Hintergrund ist, dass ich eine Reihe fremder Tabellensätze habe, die ich im Rahmen einer Facharbeit in eine Word-Vorlage einbinden will, die keine Mischung beider Formate erlaubt.
Vielen Dank für eure Hilfe,
lynndinn

Hallo Lynn,

ich habe in Excel 2000 Tabellen im Querformat. Kann man die so
wie sie sind, irgendwie um 90 Grad „drehen“, so dass man sie
unter „Datei einfügen“ in Word einbinden kann?
Also ich meine nicht den Ausdruck, sondern eine echte Drehung,
nicht nur der Zahlen, sondern das gesamte Layout.

mir leider unklar was du meinst.
Wenn du A1:R30 im Hochformat ausdruckst wird da im Blatt1 so ca. A1:I30 gedruckt, im zweiten Blatt J1:R30
Im Querformat müßte alles auf ein Blatt passen.

Gedreht wird da nix.

Was genau meinst du nun mit echter Drehung?

Kannst du mit einem Bildbearbeitungsprogramm ein Bild erstellen wie das aussehen soll?

Hintergrund ist, dass ich eine Reihe fremder Tabellensätze
habe, die ich im Rahmen einer Facharbeit in eine Word-Vorlage
einbinden will, die keine Mischung beider Formate erlaubt.

Du meinst Hoch- und Querformat? pro Seite müßte man das schon wählen können in Word.

Gruß
Reinhard

Lieber Reinhard,
sorry dass ich mich so ungenau ausgedrückt habe. Also, meine Tochter (der ich bei ihrer Facharbeit helfe) hat von der Uni eine Word-Dokumentenvorlage bekommen, in die sie alles reinschreiben muss. Das hat zunächst überhaupt nichts mit dem Druck zu tun. Grafiken dazupacken ist kein Problem. Auch nicht Excel-Tabellen, die man über „Datei einfügen“ einbinden kann, vorausgesetzt, sie „sprengen“ nicht das DIN-A4 Format.
Nun hat sie aber Tabellen, die ausgedruckt auf DIN-A4 Querformat zu lesen wären. Das könnte ich machen und anschließend als Grafik scannen. Aber die Qualität wäre schlecht. Ebenso schlecht wäre eine Aufteilung in Spalte A - I und I - T, weil das bei dem vorhandenen Layout nicht wirklich lesbar wäre.
Ich will einfach nur erreichen, dass die Tabelle mit dem gesamten Layout „Kopf steht“ (also um 90 Grad gedreht, so als müsse man den Bildschirm von der Seite her anschauen). So ähnlich, wie man das bei Grafiken ja machen kann.
Geht das mit Excel überhaupt? Oder welchen Weg kann ich beschreiten?
Vielen Dank für deine Mühe,
lynndinn

hallo Lynn,

Ich will einfach nur erreichen, dass die Tabelle mit dem
gesamten Layout „Kopf steht“ (also um 90 Grad gedreht, so als
müsse man den Bildschirm von der Seite her anschauen). So
ähnlich, wie man das bei Grafiken ja machen kann.

ich will erst lal exakt verstehen was du meinst, sorry.

Ist es das was du möchtest, also diese Grafik so in Word einfügen?

http://www.bilder-space.de/show.php?file=06.08gPt4vT…

Geht das mit Excel überhaupt?

Kann ich so nicht beantworten.
Ich glaube schon Vba-Code gesehen zu haben der Zellbereiche als gif oder jpg abspeichert.
Wenn das so ist so kann man das Bild natürlich per Vba an der aktuellen Textmarke in Word einfügen.

Was ich jetzt nicht weiß ist ob man es dann mit .Rotate o.ä. um 90 Grad drehen kann.

Dann müßte man einen anderen Vorgehensweg beschreiten, vielleicht über Irfanview mit dem ich das Bild erstellt habe oder sonstwie.

Oder welchen Weg kann ich
beschreiten?

Mir sagen ob mein Bildchen das ist was du in Word einfügen willst :smile:)

Gruß
Reinhard

hallo Reinhard,
ja, genauso wie auf deinem Bild würd ich das gerne haben. Aber das mit dem Grafikexport verstehe ich noch so ganz. Ich kenne folgendes Makro:
Public Sub Test()

Dim C As Chart
Set C = ThisWorkbook.Sheets(„Tabelle1“).ChartObjects(1).Chart
C.Export Filename:=„C:\Test.gif“
Set C = Nothing

End Sub
Ich habe es über altF11 in das entsprechende Tabellenblatt eingefügt, den Editor geschlossen und dann unter Extras „Makro ausführen“ angeklickt.
Aber ich bekomm es nicht zum Laufen. Fehlermeldung 400. Was mache ich falsch? Vielleicht kannst du mir einen Tip geben.
Vielen Dank und Gruß,
lynndinn

Hallo Lyndinn,

das wird zwar nicht perfekt, weil ein Drehen des Layouts meist nicht befriedigend ist, aber:
Alles markieren, neues Tabellenblatt: Bearbeiten/Inhalte Einfügen und dann transponiern wählen. Danach das Layout sicher noch was anpassen.

Oder Foto des Bereiches schießen (Irgendwo gibt es ein Symbol mit einer Kamera in EXCEL …) Das Bild kann man dann dort oder sicher später auch in Word drehen (beim Einfügen dort mal probieren, welches Format am besten aussieht).

biba

Dirk.Pegasus

Public Sub Test()
Dim C As Chart
Set C = ThisWorkbook.Sheets(„Tabelle1“).ChartObjects(1).Chart
C.Export Filename:=„C:\Test.gif“
Set C = Nothing
End Sub
Aber ich bekomm es nicht zum Laufen. Fehlermeldung 400. Was
mache ich falsch? Vielleicht kannst du mir einen Tip geben.

Hallo Lynn,

vielleicht hast du kein ChartObject (=Diagramm)?

Nimm mal eine leere Mappe.
Im Blatt1 schreibst du in
A1: Das ist A1
B1: Das ist B1
usw. bis E1
Dann kopierst du A1:E1 herunter, sodaß dann A1:E10 ausgefüllt ist.

Das sieht dann so aus:

Tabellenblatt: [Mappe1]!Tabelle1
 │ A │ B │ C │ D │ E │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 1 │ Das ist A1 │ Das ist B1 │ Das ist C1 │ Das ist D1 │ Das ist E1 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 2 │ Das ist A2 │ Das ist B2 │ Das ist C2 │ Das ist D2 │ Das ist E2 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 3 │ Das ist A3 │ Das ist B3 │ Das ist C3 │ Das ist D3 │ Das ist E3 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 4 │ Das ist A4 │ Das ist B4 │ Das ist C4 │ Das ist D4 │ Das ist E4 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 5 │ Das ist A5 │ Das ist B5 │ Das ist C5 │ Das ist D5 │ Das ist E5 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 6 │ Das ist A6 │ Das ist B6 │ Das ist C6 │ Das ist D6 │ Das ist E6 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 7 │ Das ist A7 │ Das ist B7 │ Das ist C7 │ Das ist D7 │ Das ist E7 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 8 │ Das ist A8 │ Das ist B8 │ Das ist C8 │ Das ist D8 │ Das ist E8 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
 9 │ Das ist A9 │ Das ist B9 │ Das ist C9 │ Das ist D9 │ Das ist E9 │
───┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
10 │ Das ist A10 │ Das ist B10 │ Das ist C10 │ Das ist D10 │ Das ist E10 │
───┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────┘

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Nun läßt du das Makro nn laufen.
Wäre das Ergebnis in Blatt2 brauchbar als Anfang?
Der code:

Sub nn()
Dim Zei, Spa, wks1, wks2
Set wks1 = Worksheets("Tabelle1")
Set wks2 = Worksheets("Tabelle2")
With wks2
 For Zei = 1 To 10
 For Spa = 1 To 5
 .Cells(Spa, Zei) = wks1.Cells(Zei, 6 - Spa)
 Next Spa
 Next Zei
 With .Range("A1:J5")
 .HorizontalAlignment = xlGeneral
 .VerticalAlignment = xlBottom
 .WrapText = False
 .Orientation = 90
 .AddIndent = False
 .ShrinkToFit = False
 .MergeCells = False
 .Columns.AutoFit
 End With
End With
End Sub

Gruß
Reinhard

OT Grafik drehen in Excel
Hallo Lynn,

wie man einen Zellbereich als Bild einfügt weiß ich noch nicht.
Mittels Irfanview (Freeware) kann man eine Grafik in Excel drehen.

Sub BildDrehen()
Dim appIrfan, appExcel
ActiveSheet.Shapes("Picture 1").Copy
SendKeys "^vl^c"
appIrfan = Shell("C:\Programme\IrfanView\i\_view32.exe", vbMaximizedFocus)
Set appExcel = GetObject(, "Excel.Application")
appExcel.Visible = True
Range("A1").Select
SendKeys "^v"
End Sub

Gruß
Reinhard

Oder Foto des Bereiches schießen (Irgendwo gibt es ein Symbol
mit einer Kamera in EXCEL …) Das Bild kann man dann dort
oder sicher später auch in Word drehen (beim Einfügen dort mal
probieren, welches Format am besten aussieht).

Hallo Dirk

ja, über Anpassen… der Symbollleisten.

Alternativ einen Zellbereich mit Strg+c kopieren, dann Shift-Taste halten und Bearbeiten—Verknüpftes Bild einfügen.

Gruß
Reinhard

Hallo Reinhard,
tut mir leid, aber ich bin ein zu großes greenhorn.
Ich habe die Tabelle erstellt, dann über altF11 den Editor geöffnet, doppelklick auf tabelle1, Code hineinkopiert, Ausführen/Sub user form ausführen betätigt…
aber nichts passiert.
Erklär doch bitte mal einem Laien, wie man das Makro zum laufen bringt.
Gruß,
lynndinn

Hallo Lynn,

tut mir leid, aber ich bin ein zu großes greenhorn.

macht nix, bin auch 1,92 groß :smile:)

Ich habe die Tabelle erstellt, dann über altF11 den Editor
geöffnet, doppelklick auf tabelle1,

Nein. In das Modul von „Tabelle1“ gehören nur spezielle Blattbezogene Codes.

Gehe oben auf Einfügen—Modul, dort gehört der Code hinein.

Code hineinkopiert,
Ausführen/Sub user form ausführen betätigt…

Sorry, benutze ich nie.

Entweder stelle ich den Curser irgendwo in den Code und drücke F5 (wahrscheinlich ist das dein Ausführen)

Oder, nicht im VB-Editor sondern in Excel, über Ansicht—Symbolleisten aktiviere ich die Leiste Formular.
Dort „ziehe ich dann eine Schaltfläche auf“ und weise ihr das Makro zu.
Frag nach wenn du nicht herausfindest was ich damit meine.

Egal jatzt F5 im Editor oder Klick auf die Schaltfläche, das makro wird ausgeführt.

Gruß
Reinhard

hallo Reinhard,
ja jetzt ist´s perfekt. Wie muss ich das Makro denn modifizieren, wenn ich statt der Linksdrehung eine Rechtsdrehung haben will?
Gruß,
lynndinn

ja jetzt ist´s perfekt. Wie muss ich das Makro denn
modifizieren, wenn ich statt der Linksdrehung eine
Rechtsdrehung haben will?

Hallo Lynndinn,

Sub nn()
Dim Zei, Spa, wks1, wks2
Set wks1 = Worksheets("Tabelle1")
Set wks2 = Worksheets("Tabelle2")
With wks2
 For Zei = 1 To 10
 For Spa = 1 To 5
 .Cells(Spa, Zei) = wks1.Cells(11 - Zei, Spa)
 Next Spa
 Next Zei
 With .Range("A1:J5")
 .HorizontalAlignment = xlGeneral
 .VerticalAlignment = xlBottom
 .WrapText = False
 .Orientation = -90
 .AddIndent = False
 .ShrinkToFit = False
 .MergeCells = False
 .Columns.AutoFit
 End With
End With
End Sub

Gruß
Reinhard

Hallo Reinhard,
na klar, vielen Dank, hätte ich ja eigentlich auch selber rauskriegen können. Aber der Esel auf dem Eis…
Was ich aber immer noch nicht so richtig verstehe, ist die Zeile
.Cells(Spa, Zei) = wks1.Cells(Zei, 6 - Spa)
Wofür steht die 6? Oder anders ausgedrückt: Wie muss ich das Makro anpassen, wenn 6 Zeilen und 10 Spalten drehen will?
Ist wahrscheinlich eine dumme Frage, aber ich bekomme es nicht hin.
Gruß,
lynndinn

Hallo Lynndinn,

Was ich aber immer noch nicht so richtig verstehe, ist die
Zeile
.Cells(Spa, Zei) = wks1.Cells(Zei, 6 - Spa)

stell den Curser auf „Cells“ und drücke F1, dann wird dir „Cells“ erklärt.
Die korrkte Syntax dafür ist
Cells(Zeile, Spalte)

Nun liegt es an der Aufgabenstellung daß ich da zeilen mit Spalten vertauschen muß um zum gewünschten Ergebnis zu kommen.
Insofern ist dann .Cells(Spa, Zei) leicht irreführend.

Nun ist ja der Befehl in zwei FOR-Schleifen eingebaut.
Im ersten Durchlauf ist zei 1 und Spa auch.
D.h. im ersten Durchgang wird dies getan:

wks2.Cells(1, 1) = wks1.Cells(1, 6 - 1)

das entspricht in Excelschreibweise

wks2!A1=wks1!E1

im zweiten Durchlauf wird dann dies ausgeführt

wks2.Cells(1, 2) = wks1.Cells(1, 6 - 2)

also wks2!B1=wks1!D1

wks2 habe ich jetzt nur zur besseren darstellung dazugeschrieben. Im Code benutze ich ja With , deshlab langt dann dort der Punkt vor Cells um auf wks2 zu referenzieren.

Oder anders ausgedrückt: Wie muss ich das
Makro anpassen, wenn 6 Zeilen und 10 Spalten drehen will?

Nimm die 7.
Also eins mehr als die Anzahl ist. Das siehst du im neuen Code an der 11 (für 10 zeilen)

Ist wahrscheinlich eine dumme Frage, aber ich bekomme es nicht
hin.

Nein. Wer nicht fragt bleibt dumm :smile:)

Gruß
Reinhard

Wahnsinn!!! Das klappt ja!
Jetzt hab ich´s begriffen.
Toll,
echt vielen Dank,
Reinhard.
lynndinn

Hallo lynndinn,

Wahnsinn!!! Das klappt ja!

na schön, da habe ich wohl durch einen Glücksgriff den richtigen Code erwischt *lächel*

Jetzt hab ich´s begriffen.

In anderen ähnlichen Fällen mit For-Schleifen o.ä.
schmeiß raus was in den Schleifen steht bzw. setz ein Hochkomma davor.

Dann bau da ein
Msgbox Zei
Msgbox Spa
Msgbox 6-Spa

oder sowas
MsgBox Cells(Zei,Spa).Address

o.ä.

Das mache ich auch wenn ich grad nicht beim „Bleistifttest“ weiterkomme.
Bleistifttest= man nimmt einen Bleistift und schreibt sich auf ein Blatt Papier was im ersten Durchgang der Schleifen passiert usw.
Logisch kannste auch einen Kuli nehmen :smile:

Anstatt MsgBox kannste auch Debug.Print nehmen, dazu mußt du im VB-Editor das entsprechende Fenster aktivieren.

Ich komme mit MsgBox aus und benutze nie Debug.Print.

Gruß
Reinhard