Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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

2 Quellcodes in 1 verschmelzen

2 Quellcodes in 1 verschmelzen
22.07.2022 11:53:07
Memo
Hallo zusammen,
ich habe zwei Quellcodes.
Code1: Button Speichern unter:
Code2: Button Rahmen
Gerne möchte ich nach Klick auf "Button Speichern unter", dass bevor die Datei gespeichert wird, zuerst die Rahmen angelegt werden.
Wie mache ich das?
Anbei die Codes:
Code 1: Speichern unter:

Private Sub CommandButton3_Click()
Dim varFileName As Variant, objShp As Shape, sh As Object
ChDrive "C"
ChDir "C:/"
varFileName = Application.GetSaveAsFilename(varFileName, "Excel Arbeitsmappe ohne VBA (*.xlsx),*.xlsx,") ' nicht als .xls speicher = Excel Fehlermeldung
If Not varFileName = False Then '
Application.DisplayAlerts = False
For Each sh In Sheets
If Not sh.Name = ActiveSheet.Name Then sh.Delete
Next sh
Application.DisplayAlerts = True
For Each objShp In ActiveSheet.Shapes
If objShp.Type = msoOLEControlObject Then objShp.Delete
Next objShp
ActiveSheet.Range("1:1").RowHeight = 50
ThisWorkbook.SaveAs varFileName, FileFormat:=xlOpenXMLWorkbook
Else
MsgBox "Abbruch durch Nutzer.", vbOKOnly, "©MC (xxxxx)"
End If
End Sub
Code2: Rahmen
Sub Rahmen2()
Dim lzeile As Long
lzeile = Sheets("Hauptblatt").Cells(Rows.Count, 3).End(xlUp).Row
With Range("A2:T" & lzeile).Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub Danke für jede Unterestützung:
VG,
Memo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 12:09:45
PawelPopolski
Hallo,
ohne auf die Dteails zu achte, geht es prinzipiell so:

Private Sub CommandButton3_Click()
call speichern
call rahmen2
endsub
sub Speichern()
Dim varFileName As Variant, objShp As Shape, sh As Object
ChDrive "C"
ChDir "C:/"
varFileName = Application.GetSaveAsFilename(varFileName, "Excel Arbeitsmappe ohne VBA (*.xlsx),*.xlsx,") ' nicht als .xls speicher = Excel Fehlermeldung
If Not varFileName = False Then '
Application.DisplayAlerts = False
For Each sh In Sheets
If Not sh.Name = ActiveSheet.Name Then sh.Delete
Next sh
Application.DisplayAlerts = True
For Each objShp In ActiveSheet.Shapes
If objShp.Type = msoOLEControlObject Then objShp.Delete
Next objShp
ActiveSheet.Range("1:1").RowHeight = 50
ThisWorkbook.SaveAs varFileName, FileFormat:=xlOpenXMLWorkbook
Else
MsgBox "Abbruch durch Nutzer.", vbOKOnly, "©MC (xxxxx)"
End If
End Sub
Sub Rahmen2()
Dim lzeile As Long
lzeile = Sheets("Hauptblatt").Cells(Rows.Count, 3).End(xlUp).Row
With Range("A2:T" & lzeile).Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub

Anzeige
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 13:03:02
Memo
Hi,
danke für den Vorschlag.
Ich habe dein Vorschlag 1:1 übernommen bekomme jedoch leider die folgende Fehlermeldung:
"index außerhalb des gültigen Bereichs"
Nachdem ich die Fehlermeldung beende, speichert er die Datei zwar ab jedoch ohne zuvor Rahmen angelegt zu haben.
Ich habe ja bereits beide Quellcodes die tadellos funktionieren...Rahmen anlegen beispielsweise habe ich als einen separaten Button.
Ich möchte jedoch beide Aktionen in einen Button verschmelzen.
Grüße,
Memo
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 13:08:42
Memo
Hi Pawelpopolski,
es hat funktioneirt....zusätzlicher Tippfehler von mir.
Danke Pawel.
VG,
Memo
Anzeige
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 13:20:25
PawelPopolski
Ich habe nichts an dem Code geändert, ausser die Bennennung der Subs zu ändern und den Code in die entsp. Subs zu packen. Müsste also noch immer so funktionieren wie vorher.
Da der Rahmen nicht gesetzt wird und die Meldung "index außerhalb des gültigen Bereichs" lautet, gehe ich einfach mal davon aus, dass dein Arbeitsblatt, auf das du dich in
lzeile = Sheets("Hauptblatt").Cells(Rows.Count, 3).End(xlUp).Row
beziehst, nicht existiert bzw. einen anderen Namen hat.
Allerdings ist das auch nur ein Schuss ins Blaue, da ich nicht weiss, welche Zeile den Fehler auslöst.
Sollte das nicht der Fewhler sein, bleibt dir nichts anderes, als eine Arbeitsmappe hochzuladen, damit wir nicht weitere im Nebel stochern.
Sollte es dein Problem lösen, wäre es nett, wenn du mich in das Copyright der MsgBox aufnimmst. Scherz! Ich denke bei so etwas immer an meine Grundschullehrerin, die gerne sagte "Die Namen der Jecken stehen in allen Ecken." Ironie!
Anzeige
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 13:48:51
Memo
Hi Pawelpopolski,
funktioniert einwandfrei.
Ich hätte noch eine Frage, vielleicht könntest du hierbei auch behilflich sein:
Nachdem ich den Speichern unter Button geklickt habe und die Datei
- ohne Makros
- ohne Buttons
- als normale Excel File
gespeichert worden ist, würde ich noch als allerletzt eine Messagebox ausgeben
"Datei erfolgreich gespeichert".
Frage:
Würde das funktionierten, wenn das Makro vorher alle Makros und Buttons löscht?
Danke.
Grüße
Memo
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 15:02:12
PawelPopolski
Probiers doch einfach aus, indem du den msgbox-Befehl vor das End sub packst.
Das solte man auch mit 'Excel bescheiden' hinbekommen. Das mit dem copyright hast du ja auch geschafft.
Anzeige
AW: 2 Quellcodes in 1 verschmelzen
22.07.2022 15:43:53
Memo
Hi,
ja das probiere ich schon...aber das funktioniert nicht, da das Makro ja vorher alle Buttons+Makros löscht und erst danach speichert.
Ich überlege mir was anderes.
Danke nochmals für dein Support.
Vg,
Memo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige