Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
496to500
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
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makros funktionieren nur unter bestimmten Bedingun

Makros funktionieren nur unter bestimmten Bedingun
06.10.2004 15:09:47
Helmut
Hallo Excelfreunde!
Ich habe diesmal 2 Probleme. Mit Hilfe dieses super Forums und ein wenig selber basteln habe ich mir nachfolgende Makros gebaut, welche mit Hilfe des ersten Makros nacheinander ablaufen sollen. Das Problem ist, dass die Makros nacheinander nicht ablaufen weil:
1. Das Makro "Ausblenden" nur funktioniert, wenn ich mich in einem der Blätter "Klasse1" bis "Klasse20" befinde, es müsste aber von jedem Blatt aus aufgerufen werden können.
2. Das letzte Makro "Speichern_unter" nur funktioniert, wenn ich mich im Blatt "Artikel" befinde, dies müsste aber auch von jedem Blatt aus funktionieren, weil das Blatt "Artikel" durch eines der vorherigen Makros ("ausblendenListen") ausgeblendet wird und alle Blätter durch das Makro "schützenBlätter" geschütz werden.
Ich möchte mir später ein AddIn basteln, mit Hilfe dessen ich über eine Schaltfläche das erste Makro ("StartMakro") ausführen kann (und dadurch die folgenden und noch ein par andere).
Kann mir Jemand bei den beiden nicht funktionierenden Makros helfen, wäre super.
Danke schon mal.
mfg, Helmut

Sub StartMakro()
MsgBox "Betselllisten unter Artikelnummer speichern"
aufhebenBlattschutz
Ausblenden
ausblendenListen
schützenBlätter
SPEICHER_UNTER
End Sub


Sub aufhebenBlattschutz()
Dim intSheet As Integer
Dim strPass As String
On Error GoTo ErrEnd
'strPass = InputBox("Das Passwort bitte")
Application.ScreenUpdating = False
'Blattschutz aufheben:
For intSheet = 1 To Worksheets.Count
Worksheets(intSheet).Unprotect 'strPass
Next intSheet
Application.ScreenUpdating = True
ErrEnd:
Err.Clear
End Sub


Sub Ausblenden()
Dim wks As Worksheet
Dim TabName As String
Dim I As Integer 'Zähler für Spalten D bis S
Dim X As Integer 'Zahler für Blätter 2 bis 21
Set wks = ActiveSheet
TabName = "Klasse" 'Name der Blätter ohne Index
For I = 4 To 19
If wks.Cells(1, I) = 0 Then
For X = 1 To 20
Sheets(TabName & X).Columns(I).EntireColumn.Hidden = True
Next '& ""
Else
For X = 1 To 20
Sheets(TabName & X).Columns(I).EntireColumn.Hidden = False
Next
End If
Next
End Sub


Sub ausblendenListen()
'ausblenden der Listen Artikel, VorOrtUeberweisungslisten, VorOrtAbrechnung
ActiveWorkbook.Unprotect
Sheets("Artikel").Visible = False
Sheets("VorOrtUeberweisungslisten").Visible = False
Sheets("VorOrtAbrechnung").Visible = False
Sheets("Einzelueberweisungen").Visible = False
End Sub


Sub schützenBlätter()
Dim intSheet As Integer
Application.ScreenUpdating = False
'Blaetter schuetzen:
For intSheet = 1 To Worksheets.Count
Worksheets(intSheet).Protect '"Das Passwort" ‘hier musst du dein Passwort eingeben
Next intSheet
Application.ScreenUpdating = True
End Sub


Sub SPEICHER_UNTER()
'Speichert die Mappe unter D:\Bestelllisten\(Inhalt Zelle D8, Artikelblatt),
' wenn dort ein Wert steht
ActiveWorkbook.Protect
If Range("D8") = "" Then GoTo FINI
x = "D:\Gravurlisten\"
y = Sheets("Artikel").Range("D8")
SPEINAM2 = x & y & ".xls"
ActiveWorkbook.SaveAs Filename:=(SPEINAM2), FileFormat:=xlExcel9795, ReadOnlyRecommended:=False, CreateBackup:=True
FINI:
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros funktionieren nur unter bestimmten Bedingun
06.10.2004 15:47:44
Volker
Hi Helmut,
1. Zum Ausblenden: Stehen denn die Zellen A4 bis A19 mit den Nullen in jedem Blatt?
wenn nicht muß du dich auf das entsprechene Blatt beziehen zB.:
if sheets("xyz").Cells(1, I) = 0 Then ........
2. zum Speichern unter: If Range("D8") = "" Then GoTo FINI bezieht sich auf das aktuelle Blatt, wenn da nicht steht, wird abgebrochen.
ich würde ein "sheets("artikel").activate" einfügen
Sag mal Bescheid, ob es das war. Wenn nicht, hab ich die Fragestellung nicht kapiert.
Gruß
Volker
AW: Makros funktionieren nur unter bestimmten Bedingun
06.10.2004 16:07:00
Helmut
Hallo Volker!
Danke für deine Antwort!
Zu 1. Die Zellen A4 bis A19 mit den Nullen Stehen nur in den Blättern 2 bis 21 bzw. "Klasse1" bis "Klasse20"
Zu 2. Das Blatt Artikel ist beim Speichern ausgeblendet und geschützt, deswegen kann ich nicht in dieses Blatt wechseln und möchte es auch nicht.
Ich verstehe leider auch nicht viel von VBA.
Kannst du mir weiterhelfen?
mfg, Helmut
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige