Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1348to1352
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenhöhe bei verbunden Zellen einbinden

Zeilenhöhe bei verbunden Zellen einbinden
13.02.2014 19:18:42
Martina
Hallo zusammen,
dank dieses tollen Forums verwende ich seit einiger Zeit einen VBA-Code, der mehrere markierte Tabellenblätter ausdruckt. Vor dem Ausdrucken werden die Zellenhöhen auf den einzelnen Tabellenblättern angepaßt und eine Kopfzeile eingefügt. Das funtioniert super...
Jetzt habe ich auf der 1sten auszudruckenden Seite Zellen verbunden, damit der Zelleninhalt(wird per Formel eingefügt) druckbar ist. Auf dieser Seite funktioniert das Anpassen der Zeilenhöhen nicht mehr. Ich habe recheriert, dass das nicht so einfach ist, wenn verbundene Zellen auf einem Tabellenblatt sind. Eine automatische Anpassung der Zellenhöhe ist unbedingt notwendig, da ich verschiedene Datensätze mit unterschiedlichem Inhalt in die Tabellenblätter einlese.
Toll wäre es wenn die Zellenhöhen angepasst werden könnten, egal ob verbundene Zellen in den markierten Tabellenblättern sind oder nicht, damit die Tabellenblätter flexibel angepaßt werden könnten.
Kann mir jemand weiterhelfen?
Zur Zeit sieht der Code wie folgt aus:
Sub Ergebnis()
Dim wks As Worksheet
Dim objWks As Object
Dim arrWks
Set objWks = CreateObject("Scripting.Dictionary")
For Each wks In Worksheets
If wks.Name Like "Ergebnis*" Then
If wks.Visible Then
objWks(wks.Name) = 0
With wks
.Unprotect "test"
.Cells.SpecialCells(xlCellTypeVisible).Rows.AutoFit
.PageSetup.CenterHeader = "&""Arial,Bold""&10" _
& Sheets("Inhaltsverzeichnis").Range("C2").Value & Chr(10) _
& "Project no: " & Sheets("Inhaltsverzeichnis").Range("C3").Value
.Protect "test", DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
End If
End If
Next wks
arrWks = objWks.keys
Sheets(arrWks).Select
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.Select
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe bei verbunden Zellen einbinden
13.02.2014 20:35:51
Uduuh
Hallo,
dann musst du den Inhalt der verbundenen Zellen in anderes(ausgeblendetes)Blatt in eine Zelle kopieren, die die Breite deiner verbundenen Zellen hat, die Höhe per AutoFit anpassen und auf die Zeile deines Blatts übertragen.
Bspw.:
Sub aaa()
With Sheets("temp")
.Cells(1, 1) = Sheets("Druck").Cells(1, 1).Value
.Rows(1).AutoFit
Sheets("Druck").Rows(1).RowHeight = .Rows(1).RowHeight
End With
End Sub
Gruß aus’m Pott
Udo

AW: Zeilenhöhe bei verbunden Zellen einbinden
13.02.2014 21:55:34
Martina
Hallo Udo,
vielen Dank für Deine Antwort. Ich versteh es aber nicht so ganz. Mein Tabellenblatt hat mehrere verbundene Zellenbereiche mit unterschiedlicher Anzahl von Zellen, also unterschiedlicher Breite. Wenn ich es richtig verstanden habe, ist bei Deinem Lösungsansatz vorausgesetzt, dass die verbunden Zellbereiche gleich groß sind. Kann ich Deinen Code in meinen einfügen, so dass ich mit einem Knopfdruck in die Seitenansicht wechseln kann und sich dabei die Zellenhöhe anpasst?
Viele Grüße
Martina

Anzeige
Verstehe nicht, was ZeilenHÖHE mit horizontal ...
14.02.2014 02:10:44
Luc:-?
…verbundenen Zellen zu tun hat, Martina!
Zitat: Mein Tabellenblatt hat mehrere verbundene Zellenbereiche mit unterschiedlicher Anzahl von Zellen, also unterschiedlicher Breite.
Da kann ja dann nur horizontal verbunden sein und man kann der ganzen Zeile auf 1× eine andere Höhe geben. Das geht manuell und somit auch maschinell (aufzeichnen!). Da muss man nicht hinundher kopieren.
Bei vertikal verbundenen Zellen geht das auch; man muss nur alle von Erhöhung betroffenen Zellen auswählen.
Falls du aber meinst, nur den jeweiligen VerbundZellen eine andere Höhe geben zu können, bist du auf dem Holzweg. Man muss dann halt auch vertikal verbinden bzw (ggf direkt verlinkte) Textfelder benutzen — das sind ja nunmal keine Word- bzw HTML-Tabellen in Xl. Ich wüsste auch nicht, wie sich das mit einer vernünftigen TabStruktur vertragen sollte.
Morrn, Luc :-?

Anzeige
Problem gelöst...aber gleich was neues
14.02.2014 22:59:52
Martina
Hallo zusammen,
danke für die Hilfestellung! Inzwischen habe ich eine Lösung gefunden.... da ich so oder so eine Hilfstabelle benötige. Ich habe eine Kopfzeile in der Hilfstabelle angelegt und mit dem Tool "Kamara" in das auszudruckende Tabellenblatt eingefügt. In diesem Blatt habe ich die verbundenen Zellen entfernt, so dass das beschriebene Makro funktioniert. Werden in der Hilfstabelle die Einträge geändert, ändern sie sich auf der auszudruckenden Seite ebenfalls.
Aber kaum habe ich eine Herausvorderung bewältigt, kommt was neues!
Ich möchte zusätzlich in dem Makro einfügen, dass sich der Druckbereich dynamisch anpasst. Dazu lasse ich den auszudruckenden Bereich per Formel in Zelle FJ11 ausgeben (bei allen markierten Tabellenblättern).
In das Makro habe ich folgenden Befehl eingefügt:
.PageSetup.PrintArea = Range("FJ11").Value
Für die 1ste markierte Seite wird der Druckbereich angepasst. Für die weiteren markierten Tabellenblätter wird jedoch eine leere Seite angezeigt.
Viele Grüße
Martina

Anzeige
Wohl, weil inzwischen die Seite gewechselt hat ...
18.02.2014 12:36:28
Luc:-?
…und im neuen Blatt an dieser Stelle nichts steht, Martina;
das kommt davon, wenn man nur Range verwendet, denn das bezieht sich dann stets auf das gerade aktuelle Blatt.
Gruß Luc :-?

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige