Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suche Lösung in VBA
#61
Hi,

jetzt habe ich es verstanden. hatte das schonmal probiert, Tabelle1 mit Deckblatt zu tauschen, aber da wurde die Fußzeile nicht gedruckt.
Jetzt geht es zwar, aber er druckt immer zwei Seiten und die Zellenlinien auf der rechten Seite, werden zwar in der Druckvorschau angezeigt, aber nicht gedruckt.

Irgendwie sieht das im Druckzustand generell anders aus, Spaltenbreite D ist viel zu breit im Ausdruck. Optisch passt es dann nicht mehr zu den letzten drei Spalten.
Verstehe nicht, immer ist irgendwas. Sad


Angehängte Dateien
.xlsm   16-06-24-RDSb-V02-Arbeitspaket.xlsm (Größe: 32,97 KB / Downloads: 1)
Antworten Top
#62
Hallo,

hier eine Variante, bei der die Unterschriften per Code immer ans Ende geschoben werden.

Code:
Sub UnterschriftenAnsEnde()
 Dim blnSeitenumbruchanzeige As Boolean
 Dim blnEreignisseEingeschaltet As Boolean
 Dim i As Long, lngP As Long
 Dim oWs As Worksheet
 Dim rngAbstand As Range, rngAktiveZelle As Range
 
 Set oWs = ActiveSheet ' Worksheets("Deckblatt")
 Set rngAbstand = oWs.Range("Abstand")
 blnEreignisseEingeschaltet = Application.EnableEvents
 blnSeitenumbruchanzeige = oWs.DisplayPageBreaks
 oWs.Unprotect Password:="PW"
 
 On Error Resume Next  'wegen EnableEvents = False
 Application.EnableEvents = False
 oWs.DisplayPageBreaks = True
 Set rngAktiveZelle = ActiveCell
 rngAbstand.Select '< Wichtig! Sonst funktioniert es nicht zuverlässig.
 Application.ScreenUpdating = False
 
 'alle Leerzeilen zwischen Abstand und Unterschriften werden gelöscht
 i = Range("Unterschriften").Row - rngAbstand.Row
 If i > 1 Then
   rngAbstand.Offset(1).Resize(i - 1).EntireRow.Delete
 End If
 
 'alle vorhandenen Seitenumbrüche werden entfernt und neu angepasst
 oWs.ResetAllPageBreaks
 
 'Anzahl der Seitenumbrüche festhalten
 lngP = oWs.HPageBreaks.Count
 
 i = 0
 
 'Schleife, solange sich die Anzahl der Seitenumbrüche nicht erhöht
 Do While oWs.HPageBreaks.Count = lngP And i < 99
   i = i + 1 'Zähler für kontrollierten Schleifenabbruch im Fehlerfall
   'Leerzeile wird eingefügt
   rngAbstand.Offset(1).EntireRow.Insert CopyOrigin:=xlFormatFromLeftOrAbove
 Loop
 
 'eine Zeile wird wieder gelöscht
 rngAbstand.Offset(1).EntireRow.Delete
 
 'Aufräumen
 oWs.DisplayPageBreaks = blnSeitenumbruchanzeige
 Application.EnableEvents = blnEreignisseEingeschaltet
 Application.ScreenUpdating = True
 rngAktiveZelle.Select
 'oWs.Protect Password:="PW", AllowInsertingRows:=True, AllowDeletingRows:=True, AllowFormattingCells:=True
 On Error GoTo 0
End Sub

Momentan wird dieses Makro immer durch die anderen Makros aufgerufen. Sollte das stören oder zu lange dauern, einfach die Aufrufe entfernen und manuell starten.

Gruß Uwe


Angehängte Dateien
.xlsm   Arbeitspaket - V2-4_Kuwer.xlsm (Größe: 40,72 KB / Downloads: 4)
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ToXiC
Antworten Top
#63
Hi Uwe,

(26.06.2016, 15:22)Kuwer schrieb: hier eine Variante, bei der die Unterschriften per Code immer ans Ende geschoben werden.

klasse, ich dachte mir, daß jemand das hinbringt, die Idee hatte ich auch, aber mir fehlen die VBA-Kenntnisse.
Nur leider kommt bei mir eine Fehlermeldung 1004, vermutlich da "Abstand" nicht definiert ist.

Kannst Du die funktionierende Datei von Patrick mit Deinem Makro mal hochladen?
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • ToXiC
Antworten Top
#64
Hi Ralf,

(26.06.2016, 15:44)Rabe schrieb: Kannst Du die funktionierende Datei von Patrick mit Deinem Makro mal hochladen?

das hatte ich doch.

Übrigens, das hatte ich ganz vergessen zu erwähnen, hatte ich das Change-Ereignis-Makro auch noch geändert, damit die Zeilenhöhenanpassung immer funktioniert.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ToXiC
Antworten Top
#65
Hi,

oh man, jetzt wollte ich gerade mal mit Fußzeilen arbeiten, was aber nicht der Wunsch vom Chef war, weil dort mittig schon Dateiname und Speicherort sein sollen und dann kommt das Wink.
Ich habe den Code in die Tabelle eingebunden. Testweise einen Button zum Makro zugeordnet und bekomme auch den Laufzeitfehler beim Ausführen.

Wäre jetzt noch super, wenn das laufen würde, vor allem aber automatisch, ohne Button.
So langsam verstehe ich auch immer mehr von VBA, hätte nicht gedacht, dass ich das noch in den Kopf kriege.

Anbei der aktuelle Stand, bitte diesen verwenden, da ich die vorgegebene Schriftart nicht habe und die von der Firma gekauft wurde.

Edit:
Habe den Code nun überall eingebunden, hoffe alle Verknüpfungen gefunden zu haben und hier ist die aktuelle Version (Versionsname V2 hat nichts mit der hier steigenden Version zu tun, sondern entspricht dem Firmeninternen Standard für Dateinamen).

Edit 2: Button testweise eingefügt, erhalte Fehler in dieser Zeile:
Code:
   Set rngAbstand = oWs.Range("Abstand")
Edit 2: Der geänderte Code für Zeilenhöhe funktioniert nicht richtig, da er Zellen zusammenfügt, die vorher nicht zusammen waren.
Siehe bei Textinhalt "gg", Zelle wurde zu weit nach links verbunden:
Deckblatt

BCDEFGHI
7Plandatum Start Soll:Plandatum Ende Soll:
8Plandatum Start Ist:ggPlandatum Ende Ist:
9Dauer:Bericht an:
10Ressourcen:wird automatisch ausgefüllt!
11Budget:gg

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


Angehängte Dateien
.xlsm   16-06-24-RDSb-V02-Arbeitspaket.xlsm (Größe: 31,18 KB / Downloads: 1)
Antworten Top
#66
Hallo,

schau mal, ob es jetzt passt.


.xlsm   16-06-24-RDSb-V02-Arbeitspaket_Kuwer.xlsm (Größe: 33,21 KB / Downloads: 3)

Gruß Uwe
Antworten Top
#67
Hi, danke.

Es funktioniert soweit. Braucht natürlich eine gewisse Zeit für Berechnungen.
Was jetzt aber nicht funktioniert, ist die automatische Zeilenhöhe. Zumindest nicht bei manuellen Umbrüchen.

Ich hänge jetzt immer den letzten Stand an, damit nicht verschiedene Versionen im Umlauf sind.


Angehängte Dateien
.xlsm   16-06-26-RDSb-V02-Arbeitspaket.xlsm (Größe: 32 KB / Downloads: 2)
Antworten Top
#68
Hi,

(26.06.2016, 20:36)ToXiC schrieb: Was jetzt aber nicht funktioniert, ist die automatische Zeilenhöhe. Zumindest nicht bei manuellen Umbrüchen.

ja, das konnte nicht gehen. Jetzt aber (hoffentlich).


.xlsm   Kopie von 16-06-26-RDSb-V02-Arbeitspaket.xlsm (Größe: 28,31 KB / Downloads: 4)

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ToXiC
Antworten Top
#69
Hi,

(26.06.2016, 16:01)Kuwer schrieb: das hatte ich doch.

ooh, das ging irgendwie an mir vorbei.

Vielleicht ist es eine Idee, das Makro "UnterschriftenansEnde" erst durch den Event "BeforePrint" aufzurufen? Dann dauert das Einfügen und Löschen von Zeilen nicht so lang.

Was mir auch noch aufgefallen ist:
Wenn Zeilen eingefügt werden, dann sind bei 30 - 37 Zeilen nur der Unterschriftenblock und der Tabellenüberschriftenblock auf der zweiten Seite. Der Überschriftenblock wäre da aber noch nicht nötig.
Antworten Top
#70
Hi Ralf,

(27.06.2016, 07:38)Rabe schrieb: Vielleicht ist es eine Idee, das Makro "UnterschriftenansEnde" erst durch den Event "BeforePrint" aufzurufen? Dann dauert  das Einfügen und Löschen von Zeilen nicht so lang.
das hat bei mir nicht funktioniert. :(

(27.06.2016, 07:38)Rabe schrieb: Was mir auch noch aufgefallen ist:
Wenn Zeilen eingefügt werden, dann sind bei 30 - 37 Zeilen nur der Unterschriftenblock und der Tabellenüberschriftenblock auf der zweiten Seite. Der Überschriftenblock wäre da aber noch nicht nötig.
Das überlasse ich gerne Dir. ;)

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ToXiC
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste