Microsoft Excel

Herbers Excel/VBA-Archiv

Makro sofort ausführen | Herbers Excel-Forum


Betrifft: Makro sofort ausführen von: Heinz H
Geschrieben am: 15.01.2010 09:31:27

Hallo Leute, Heute zum 2.ten mal

Ich habe Im Modul einen Code der Blattschutz unter gewissen Bedinungen setzt.
Der Funktioniert auch.

In der UF wird ein neues Tab.Blatt erzeugt.
Kann mann den Code von "Sub Blattschutz" gleich ausführen in der UF

Mit

Call Blattschutz (True)
läuft es leider nicht.

Gruß
Heinz

In der UF
Private Sub cmdUebertragen_Click()


Call WochenendeWeg(True)
  
With ActiveWorkbook.VBProject
  .VBComponents.Remove .VBComponents("frmTextUebertragen")
  .VBComponents.Remove .VBComponents("basMain")
End With
  
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "/" & "Vorlage Stundenaufzeichnung  " & Range("B3")  _
& ".xls"
        
        
  ActiveSheet.Shapes(Application.Caller).Delete 'Löscht den Button Neues Personalblatt  _
erstellen
Unload Me
ActiveSheet.Protect Password:="Test"

End Sub


Im Modul
  Sub Blattschutz()
   Dim i As Integer
     ActiveSheet.Unprotect Password:="Test"
       For i = 6 To 35
       Range("A" & i & ":O" & i).Locked = False
  '----hinter or zählt ob Eintragung in L einmal in SpalteX vorkommt
        If Cells(i, 1).Value = "" Or WorksheetFunction.CountIf(Range("X64:X81"), Cells(i, 12).  _
_
  Value) = 1 Then
          Range("A" & i & ":O" & i).Locked = True
        End If
          Range("A:B,G:K,M:CC").Locked = True
      
      Next
      ActiveSheet.Protect Password:="Test", DrawingObjects:=True, Contents:=True, Scenarios:= _
True
  
  End Sub

  

Betrifft: AW: Makro sofort ausführen von: Hajo_Zi
Geschrieben am: 15.01.2010 09:42:13

Hallo Heinz,

Dein Makro erwartet keine Paramter (True)

GrußformelHomepage


  

Betrifft: AW: Makro sofort ausführen von: Heinz H
Geschrieben am: 15.01.2010 09:49:48

Hallo Hajo

Jetzt bekomme ich den Fehler in

ActiveSheet.Shapes(Application.Caller).Delete 'Löscht den Button Neues Personalblatt erstellen
Gruß
Heinz

Call WochenendeWeg(True)
Call Blattschutz

With ActiveWorkbook.VBProject
  .VBComponents.Remove .VBComponents("frmTextUebertragen")
  .VBComponents.Remove .VBComponents("basMain")
End With
  
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "/" & "Vorlage Stundenaufzeichnung  " & Range("B3")  _
& ".xls"
        
  ActiveSheet.Shapes(Application.Caller).Delete 'Löscht den Button Neues Personalblatt  _
erstellen
Unload Me
ActiveSheet.Protect Password:="Test"

End Sub



  

Betrifft: AW: Makro sofort ausführen von: Hajo_Zi
Geschrieben am: 15.01.2010 09:57:54

Hallo Heinz,

es tut mir Leid, ich sehe nicht den Zusammenhang zum ersten Beitrag und zu meiner Antwort.

Gruß Hajo


  

Betrifft: AW: Makro sofort ausführen von: hary
Geschrieben am: 15.01.2010 09:58:14

Hallo Heinz
ohne Test.
Mit Call Blattschutz setzt Du den Schutz. Musst ihn vorher aufheben.
Also nach Call Blattschutz, den Schutz wieder aufheben.
gruss hary


  

Betrifft: AW: Danke an Hajo und Hary von: Heinz H
Geschrieben am: 15.01.2010 10:04:57

Ich danke Euch erstmals.

Super Hary

Ja genau das war es.

Gruß
Heinz


  

Betrifft: AW: Makro sofort ausführen von: Heinz H
Geschrieben am: 15.01.2010 10:01:30

Hallo Hajo

Sorry aber das verstehe ich nicht.

Mit Call rufe ich doch das Makro auf.

Bei

Call WochenendeWeg(True)

läuft es doch Prima.

Gruß
Heinz


Beiträge aus den Excel-Beispielen zum Thema "Makro sofort ausführen"