Autor
|
Thema: Spalten für Layout fixieren (2147 mal gelesen)
|
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001
|
erstellt am: 01. Dez. 2006 12:20 <-- editieren / zitieren --> Unities abgeben:
Hall Excel-Forum, vorneweg, in Excel bin ich 'ne Niete, habe aber die Hilfe und das Forum hier durchstöbert. Ich möchte mehrere Spalten fixieren, und zwar für den Ausdruck. Erläuterung: In den Spalten K bis N steht allerhand über "mein" Büro. Nun soll Spalte A breiter werden, K_N aber nicht mitrutschen, weil sie sonst mein DIN A4 Blatt verlassen. Workaround ist rechnen: Was bei Spalte A dazukommt, zieht man bei B ab. Das kann es aber anno 2006 nicht sein, oder doch...? Hat jemand einen Tipp? Lothar ------------------ From Autodusk Till Dawn [Diese Nachricht wurde von Kramer24 am 01. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 01. Dez. 2006 12:23 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 01. Dez. 2006 12:34 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
Hallo ihr, Thomas´ Lösung ist Top! Geht wesentlich schneller, als 'nen VBA-Code zu schreiben... Wie geht das? Die Seiten werden scheinbar automatisch skaliert. In der Mappe bleiben die Spaltenbreiten unverändert, erst in der Voransicht wird dann auf A4 "gequetscht". Das bedeutet, wenn ich eine Spalte so richtig breit mache, wird die Schrift relativ klein, der Faktor "vergrößern/verkleinern" in "Seite einrichten" ändert sich entsprechend. Außerdem zeigt er mir nach der Seite-einrichten-Aktion in der Mappe keine gestrichelte Linie für die Begrenzung mehr an (xls 2k). Macht nix, da ich ja weiß, was ich festgelegt habe, aber man kann sich an den Linien auch ganz nett orientieren - Layoutgestaltung etc. Spielt an sich keine Rolle und ist trotzdem eine tolle Kompromisslösung! Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001
|
erstellt am: 01. Dez. 2006 12:36 <-- editieren / zitieren --> Unities abgeben:
Thomas, nicht ganz Voila! Das kenne ich, aber dann wird alles kleiner skaliert. Das möchte ich nicht, (wg. Logo, Schriftgröße,...). Die Spalten verschieben sich alle... Andere Idee? Lothar ------------------ From Autodusk Till Dawn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 01. Dez. 2006 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
Hm... Zitat: Workaround ist rechnen: Was bei Spalte A dazukommt, zieht man bei B ab. Das kann es aber anno 2006 nicht sein, oder doch...?
Naja, ich hätte da so ´nen ganz lumpigen Ansatz in VBA, auf die Schnelle. Code: Sub Breite()Dim aktBreite As Single Dim neuBreite As Single Dim aktDaneben As Single Dim neuDaneben As Single aktBreite = Columns("A:A").ColumnWidth 'aktuelle Breite auslesen neuBreite = 20 'willkürlich gewählt; muß jedoch größer sein als die Summe der Spaltenbreiten! aktDaneben = Columns("B:B").ColumnWidth 'die Spalte nebendran neuDaneben = aktDaneben - (neuBreite - aktBreite) Columns("A:A").ColumnWidth = neuBreite 'Spalte verbreitern Columns("B:B").ColumnWidth = neuDaneben End Sub
Ist natürlich mit Vorsicht zu genießen - keinerlei Fehlerfänger etc. drin und muß entsprechend angepasst werden.Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 01. Dez. 2006 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
Tag zusammen, Sorry Paulchen, aber ich glaub, das tut's nich... zumindest nicht bei mir auf die Schnelle. ich hab auch was, auch auf die Schnelle und leider mal wieder mit Hilfszellen und 2 Makros die ausgeführt werden müssen, eins Vor dem Breitenändern, eins Nachher also eigentlich total unschön, aber vergammeln lassen will ich's ja auch nicht und geringfügig besser als Dein Workaround ist es, ich brauche nämlich keinen Taschenrechner mehr Code: Option ExplicitPublic Sub SpaltenVorher() Tabelle1.Cells(1000, 1).Value = Tabelle1.Columns(1).Width 'Achtung, hier werden Zellen beschrieben! Tabelle1.Cells(1000, 2).Value = Tabelle1.Columns(2).Width 'Achtung, hier werden Zellen beschrieben! End Sub Public Sub SpaltenNachher() Dim iBreite As Integer If Tabelle1.Columns(1).Width <> Tabelle1.Cells(1000, 1).Value Then Tabelle1.Columns(2).ColumnWidth = CInt(Tabelle1.Cells(1000, 2) / 5.625 - (Tabelle1.Columns(1).Width / 5.625 - CLng(Tabelle1.Cells(1000, 1)) / 5.625)) End If End Sub
wichtig wäre vielleicht zu erwähnen, daß Du selbst drauf achten mußt, daß Deine Spalte B nicht "negativ Breit" wird... ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001
|
erstellt am: 01. Dez. 2006 13:48 <-- editieren / zitieren --> Unities abgeben:
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 01. Dez. 2006 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
Nochmal ich, - runkelruebes Macro läuft bei mir dafür nicht. Könnte an der Version [e] xls 2000 [/e] liegen... Naja, egal, solange es seinen Zweck erfüllt! Frederik [Diese Nachricht wurde von Paulchen am 01. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 01. Dez. 2006 20:57 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
Zitat: Original erstellt von Kramer24: Workaround ist rechnen: Was bei Spalte A dazukommt, zieht man bei B ab. Das kann es aber anno 2006 nicht sein, oder doch...?
äh.. hmmm.. doch.. das was du wünscht, würde das reinste Durcheinander bringen Stell dir vor du änderst A von 15 auf 5 und XL würde dann munter die anderen Spalten lustig in der Breite verändern - welch schalkischer Algorithmus :-) Assoziationen, dort wo es sinnvoll ist - aber gewiss nicht überall ;-) Das bisschen Handarbeit in der Seitenumbruchvorschau - das muss man sich schon eingestehen - das Leben ist nicht Leicht! ;-) *prusst* ich stelle mir gerade diesen Gedanken als Verbesserungsvorschlag an Mutter Natur vor: Alles was zum Mund reinkommt - muss sofort Hinten wieder raus -damit das Gewicht gleich bleibt :-) Ei' ein lustiger Gedanke <gg> [Diese Nachricht wurde von Thomas Harmening am 01. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 02. Dez. 2006 20:24 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
Hihi... Offtopic ein wenig fortgesetzt: Die Stühle in den Restaurants bekämen eindeutige Formen; und auch die Herren der Schöpfung würden Röcke tragen, um sie über die Stühle hängen zu lassen . Schluß mit lustig! Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001
|
erstellt am: 04. Dez. 2006 08:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, Deinen Einwand kann ich nicht nachvollziehen. Assoziationen, dort wo es sinnvoll ist -und wo ich es will. Von Automatismus meines Vorhabens war nie die Rede. Ich stelle mir vor: Spalte A anklicken -> Spalte B anklicken -> Spalte A in Assoziativität mit B ändern. Oder: Spalte A anklicken -> Spalte XL anklicken -> Spalte A löschen -> Spalte XL verbreitert sich um das Maß von A (und wird zu XK). Wenn man ein rechtseitiges Layout hat, ist das absolut hilfreich und IMHO nicht zuviel verlangt... Lothar
------------------ From Autodusk Till Dawn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 04. Dez. 2006 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für Kramer24
|