Anzeige
Archiv - Navigation
612to616
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
612to616
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe bei einem Makro

Hilfe bei einem Makro
21.05.2005 02:55:12
Ingo
Hallo
Ich habe folgendes Problem :
Ich habe ein Arbeitsmappe mit 80 Tabellenblättern, welche alle mit einem Blattschutz versehen sind. Es sind nur die Zellen offen, wo der Anwender auch etwas drin machen darf.
Unteranderem in der einen “Tabelle20“ auch Zellen Formatieren. Nun habe ich ein Makro für mich als Admin erstellt, womit ich in allen Tabellenblättern den Schutz setzen und aufheben kann. Dazu habe ich auch noch ein Makro aufgenommen, welcher den Haken bei
“Zellen formatieren“ setzen soll, wenn der Blattschutz wieder gesetzt wird per Makro.
Nun mein Problem :
Wenn ich den Blattschutz gesetzt habe, und nun das Makro für Zellen formatieren ausführe in z.B “Tabelle1“ dann komme ich immer in “Tabelle20“ weil da die Zellen zu formatieren frei sind.
Gibt es hierfür eine Lösung oder einen Weg, das dieses nicht mehr Passiert ?
Mein Makro sieht wie folgt aus :

Sub Formatieren()
'setzt den Haken Zellen formatieren'
Sheets("Tabelle20").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
End Sub

Für Eure Hilfe bin ich sehr Dankbar
Gruß
Ingo

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 07:47:21
Hajo_Zi
Hallo Ingo,
in VBA kan auf select verzichtet werden.

Sub Formatieren()
'setzt den Haken Zellen formatieren'
Sheets("Tabelle20").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
End Sub

In Deinem Makro swehe ich keine Formatierung?
In Deinem Makro wird Tabelle20 angesprochen, warum sollte es auf einer anderen Tabelle wirken?
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 12:17:12
Ingo
Hallo Hajo
Vielen Dank für die Antwort, das Funzt mit deinem Code.
Mein Makro habe ich mit dem Recorder aufgezeicnet gehabt, und das hat soweit auch gefunzt bis auf das mit der Tabelle.
Nun habe ich nochmal zwei Fragen :
1. Du schreibst das in VBA auf select verzichtet werden kann, wie muß das dann aussehen wenn ich als erstes Blatt Sheets("Startblatt").Select beim öffnen der Datei haben möchte ?
2. Kann man in einer UF irgendwie einstellen das wenn diese geöffnet wird kein TaBellenblatt im hintergrund zu sehen ist sondern nur die UF ?
Wäre Nett wenn du dazu auch noch einmal eine Antwort für mich drauf hättest.
Gruß
Ingo
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 12:24:29
Hajo_Zi
Hallo Ingo,
zu 1
wilst Du beim öffnen eine bestimmte Tabelle sehen geht da nicht ohne select.
zu 2
mal ein Teil aus einen meiner Code
zu Beginn

Set v = Workbooks
For Each v In Workbooks
Windows(v.Name).Visible = False
Next v
vor Ende
Set v = Workbooks
For Each v In Workbooks
If v.Name  <> "PERSONL.XLS" Then
Windows(v.Name).Visible = True
End If
Next v

Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 13:01:29
Ingo
Hallo Hajo
Vielen Dank für die schnelle antwort.
Ich gehe mal davon aus, das ich den Code in der UF dann mit einsetzen muß oder ?
Gruß
Ingo
AW: Hilfe bei einem Makro
21.05.2005 13:03:57
Hajo_Zi
Hallo Ingo,
ja
den ersten z.B. bei Private Sub UserForm_Initialize()
und den zweiten bei Private Sub UserForm_Terminate()
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.

Anzeige
AW: Hilfe bei einem Makro
21.05.2005 13:36:53
Ingo
Hallo Hajo
Habe den Code gerade eingefügt, nun kommt aber der Debugger und Meckert über
Set V = Workbooks rum.
Muß ich unter Windows(v.Name). einen Tabellennamen eingeben ?
Gruß
Ingo
AW: Hilfe bei einem Makro
21.05.2005 16:08:08
Hajo_Zi
Hallo Ingo,
Du hast bestimmt Option Explicit in der Userform als erste Zeile zuu stehen. Schreibe darunter
Dim v As Object ' für Fenster schließen
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 19:10:32
Ingo
Hallo Hajo
nun Funzt das soweit, hatte tatsächlich Optin Expicit stehen.
Nun habe ich nur nochmal eine Frage :
Die UF wo ich das mit anwenden möchte habe ich als schalttafel mit cmd wo die Tabellen dann mit geöfnet werden, nur wenn ich jetzt auf einen cmd drücke dann zeigt er mir den Bezug als Fehler an.
Der Bezug zu der Tabelle ist z.B

Sub Tabelle20
Worksheets(20).Select
End Sub

Muß ich nun etwas am Code ändern oder in den eigenschaften der cmd ?
Wäre Nett wenn ich nochmals etwas von Dir hören würde
Gruß
Ingo
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 19:13:08
Hajo_Zi
Hallo Ingo,
gibt es in Deiner Datei 20 Tabellen? Du wählst die 20. Tabelle und nicht Tabelle20. Falls Tabelle20 selectiert werden soll schreibe für 20 "Tabelle20"
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 19:37:54
Ingo
Hallo Hajo
Es gibt in meiner Datei 80 Tabellen, habe die Tabellen aber alle nach Namen benannt. Das war ja nur ein Beispiel von mir, nur mit dem Code hat es bis jetzt immer gefunzt auf den cmd. Werde das nun aber mal Probieren, und wenn das Funzt dann werde ich das alles ändern.
Gruß
Ingo
AW: Hilfe bei einem Makro
21.05.2005 19:42:07
Hajo_Zi
Hallo Ingo,
ich habe nun nicht meh den gesamten Beitrag in Erinnerung. Meine Antworten schreibe ich immer auf den letzten Beitrag. Diesen sehe ich auch nur bei der automatischen Benachrichtigung. Ist der CommandButton auf der Tabelle? Hast Du die Eigenschaft TakeFocusOnClick geändert?
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 20:10:58
Ingo
Hallo Hajo
Nein die CommandButton sind alle auf einer UF, wofür du mir diesen Code gepostet hast um nur die UF zu sehen ohne Tabelle im Hintergrund :
Dim v As Object

Private Sub UserForm_Initialize()
Set v = Workbooks
For Each v In Workbooks
Windows(v.Name).Visible = False
Next v
End Sub



Private Sub UserForm_Terminate()
Set v = Workbooks
For Each v In Workbooks
If v.Name  <> "PERSONL.XLS" Then
Windows(v.Name).Visible = True
End If
Next v
End Sub

Nachdem ich den Code in die UF eingefügt habe laufen meine CommandButton nicht mehr mit dem Makro welches für diese Tabelle ist:
Sub sonstige()
Worksheets(3).Select
End Sub
Hier wird mir nun Worksheets(3).Select als Fehler hinterlegt, dieses hat bis zum hinzufügen von deinem Code gefunzt.
Nun warte ich erstmal eine Reaktion von Dir ab.
Gruß
Ingo
Anzeige
AW: Hilfe bei einem Makro
21.05.2005 20:13:01
Hajo_Zi
Hallo Ingo,
wenn Tabellen, Dateien ausgeblendet sind kannst Du kein select drauf machen.
In VBA ist zu 99% select usw. nicht notwendig.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
AW: Hilfe bei einem Makro
21.05.2005 20:27:44
Ingo
Hallo Hajo
Das Funzt aber noch immer nicht hier einmal der ganze Code :
cmd :

Private Sub cmd2_Click()
sonstige
Me.Hide
End Sub

für die Tabelle :
Sub sonstige()
Worksheets (2)
End Sub
Hier wird mir nach Click auf cmd Worksheets (2) hinterlegt mit folgendem Fehler Fenster ; Fehler bei Kompilieren unzulässige Verwendung einer Eigenschaft
Warum ist das jetzt so, muß ich am cmdButton etwas in der Eigenschaft ändern ?
Gruß
Ingo
AW: Hilfe bei einem Makro
21.05.2005 20:43:25
Hajo_Zi
Hallo Ingo,
? Was soll dieser Code machen?
Du mußt erst alle Dateien wieder einblenden bevor Du ein Select machen kannst.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
AW: Hilfe bei einem Makro
21.05.2005 20:51:38
Ingo
Hallo Hajo
Wie müßte der Code denn aussehen zu wieder einblenden lassen zu lassen über den cmd ?
Oder cann ich in dem code der UF auch nur ein Blatt ausblenden lassen, wenn ich ein Tabellenblatt als Startseite nehme ? Wie müsste der Code dann für die UF sein ?
Gruß
Ingo
AW: Hilfe bei einem Makro
21.05.2005 20:56:13
Hajo_Zi
Hallo Ingo,
zu1 der Code von Private Sub UserForm_Terminate()
zu 2 Worksheets("Tabelle1").Visible = False
Zu 3 ?, unklare Beschreibung
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
AW: Hilfe bei einem Makro
21.05.2005 08:59:40
Oberschlumpf
Hi Ingo
Versuch es mal so:


Sub Formatieren()
    with ActiveSheet
        'deaktiviert den Blattschutz
        .unprotect Password:="dein passwort hier eintragen"
        'setzt den Haken Zellen formatieren'
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingCells:=True
        'aktiviert den Blattschutz
        .protect Password:="dein passwort hier eintragen"
    End With
End Sub


In diesem Bsp wird genau IN DER Tabelle, die Du vorher mit Mausklick ausgewählt hattest (z Bsp Tabelle1) zuerst der Blattschutz deaktiviert, dann die Möglichkeit gegeben, Zellen zu Formatieren und dann wird der Blattschutz wieder aktiviert.
Konnte ich helfen?
Ciao
Thorsten
AW: Hilfe bei einem Makro
21.05.2005 12:20:03
Ingo
Hallo Thorsten
Auch dir Vielen Dank für die Antwort, auch mit deinem Code Funzt es.
Schönes Wochenende noch
Gruß
Ingo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige