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

Codezusammenlegung

Codezusammenlegung
chris58
Hallo !
ich brauche bitte eure hilfe. Ich habe 2 VBA Codes und will diese zusammensetzen, damit dies mit einem Button funktioniert. Der zweite Code ist für die Sicherung in einem Ordner. Der erste soll vor dem sichern, die Tabellenblätter die in A2 kein Datum enthalten, ausblenden und nach Sicherung wieder einblenden. Ich habe beide Codes aus diversen Recherchen und komme, auch nach langem probieren, nicht dahinter, wie ich sie zusammenbauen kann, damit bei Buttondruck alle Aktionen auf einmal ablaufen.
Bitte könnt Ihr mir helfen.
Danke
chris58
Hier der erste Code für das Ausblenden:
Option Explicit
Private Sub CommandButton1_Click()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name  "Menü" Then
If Ist_datum(WS.Range("A2").Text) = False Then
WS.Visible = xlSheetHidden
End If
End If
Next WS
End Sub

Private Sub CommandButton2_Click()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name  "Menü" Then
WS.Visible = xlSheetVisible
End If
Next WS
End Sub

Public Function Ist_datum(Datum As String) As Boolean
Dim D As Date
On Error GoTo Fehler
D = DateValue(Datum)
Ist_datum = True
Exit Function
Fehler:
Ist_datum = False
End Function

Der zweite Code für die Sicherung:
Sub Sichern()
Dim i As Integer
Application.ScreenUpdating = False
With ThisWorkbook
For i = 2 To .Worksheets.Count
If .Sheets(i).Visible Then
.Sheets(i).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Parent.SaveAs Filename:="C:\Dokumente und Einstellungen\XXXXX\Desktop\XXXX xxxx\Monatslisten alle Buchungen\" & _
"Monatsliste_" & .Name & "_" & Format(Date, "dd.mm.yyyy") & ".xls"
.Parent.Close
End With
End If
Next i
.Sheets(1).Select
End With
MsgBox "Dateien wurden gespeichert"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Codezusammenlegung
12.07.2011 23:19:20
Mustafa
Hallo Chris,
machs einfach mal so :
Private Sub Ausblenden()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name  "Menü" Then
If Ist_datum(WS.Range("A2").Text) = False Then
WS.Visible = xlSheetHidden
End If
End If
Next WS
End Sub
Private Sub Einblenden()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name  "Menü" Then
WS.Visible = xlSheetVisible
End If
Next WS
End Sub
Public Function Ist_datum(Datum As String) As Boolean
Dim D As Date
On Error GoTo Fehler
D = DateValue(Datum)
Ist_datum = True
Exit Function
Fehler:
Ist_datum = False
End Function
Sub Sichern()
Dim i As Integer
Application.ScreenUpdating = False
With ThisWorkbook
For i = 2 To .Worksheets.Count
If .Sheets(i).Visible Then
.Sheets(i).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Parent.SaveAs Filename:="C:\Dokumente und Einstellungen\XXXXX\Desktop\XXXX xxxx\Monatslisten alle Buchungen\" & _
"Monatsliste_" & .Name & "_" & Format(Date, "dd.mm.yyyy") & ".xls"
.Parent.Close
End With
End If
Next i
.Sheets(1).Select
End With
MsgBox "Dateien wurden gespeichert"
End Sub
Private Sub CommandButton1_Click()
Ausblenden
Einblenden
Sichern
End Sub
Rückmeldung obs hilft wäre nett.
Gruß aus der Domstadt Köln.
Anzeige
AW: Codezusammenlegung
12.07.2011 23:27:42
chris58
Hallo !
Danke mal, aber so zusammengesetzt speichert er mir wieder alle Tabellenblätter. Der code soll ja die leeren Blätter ausblenden, dann speichern und dann die Tabellenblätter wieder einblenden.
Also es sollen nur die Tabellenblätter gespeichert werden, die in der Zelle A2 ein Datum haben, die anderen sollen ja ausgeblendet sein und nicht gespeichert werden. Wenn ich es manuell mache, dann klappt das. Aber ich will es eben in einen gesamtCode haben.
chris58
AW: Codezusammenlegung
12.07.2011 23:42:30
Mustafa
Hallo Chris,
hab mich in der Reihenfolge vertan:
Private Sub CommandButton1_Click()
Ausblenden
Sichern
Einblenden
End Sub
Gruß aus der Domstadt Köln.
Anzeige
AW: Codezusammenlegung
12.07.2011 23:47:28
chris58
Hallo !
Du meinst so ?
Trotzdem werden alle Blätter gespeichert.
chris58
Private Sub CommandButton3_Click()
Ausblenden
Einblenden
Sichern
End Sub
Private Sub Ausblenden()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name  "Menü" Then
If Ist_datum(WS.Range("A2").Text) = False Then
WS.Visible = xlSheetHidden
End If
End If
Next WS
End Sub
Private Sub Einblenden()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name  "Menü" Then
WS.Visible = xlSheetVisible
End If
Next WS
End Sub
Public Function Ist_datum(Datum As String) As Boolean
Dim D As Date
On Error GoTo Fehler
D = DateValue(Datum)
Ist_datum = True
Exit Function
Fehler:
Ist_datum = False
End Function

Sub Sichern()
Dim i As Integer
Application.ScreenUpdating = False
With ThisWorkbook
For i = 2 To .Worksheets.Count
If .Sheets(i).Visible Then
.Sheets(i).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Parent.SaveAs Filename:="C:\Dokumente und Einstellungen\xxxx\Desktop\xxxxxxxxx\Monatslisten alle Buchungen\" & _
"Monatsliste_" & .Name & "_" & Format(Date, "dd.mm.yyyy") & ".xls"
.Parent.Close
End With
End If
Next i
.Sheets(1).Select
End With
MsgBox "Dateien wurden gespeichert"
End Sub
Anzeige
AW: Codezusammenlegung
13.07.2011 04:46:06
Mustafa

Hallo !
Du meinst so ?
Trotzdem werden alle Blätter gespeichert.
chris58
Private Sub CommandButton3_Click()
Ausblenden
Einblenden
Sichern
End Sub
************************************************************************************
Nein ich meine so :
Private Sub CommandButton3_Click()
Ausblenden
Sichern
Einblenden
End Sub
Gruß aus der Domstadt Köln.
AW: Codezusammenlegung
13.07.2011 07:56:05
chris58
Hallo !
Danke, ja so funktioniert das ganze. Herzlichen dank
chris58

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige