Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Befehlschaltfläche funktioniert nicht wie sie soll

Befehlschaltfläche funktioniert nicht wie sie soll
06.02.2016 14:18:38
Marco
Guten Tag zusammen,
kurz zu mir: Beschäftige mich seid längerem mit excel ,und habe mich Aufgaben bedingt jetzt mal an VBA ran gesetzt, einiges habe ich auch schon durch lesen und probieren hin bekommen allerdings scheitere ich jetzt an dieser Sache.
Zur Erläuterung,die Blatt sperre ist Aktiv und nur einige Zellen sind freigegeben.Der Command Button soll nun den Blattschutz aufheben ein Kommentar in die Active zelle einfügen, einen Wert eintragen in diesem Fall ein "X" und dann überprüfen ob die Zelle einen Wert enthält und diese dann Sperren und am Schluss den Blattschutz wieder aktievieren. Dies bekomme ich leider nicht hin ich scheitere jetzt seid 2 Tagen egal was ich probiere, das Makro hört immer nach dem Eintrag der Zelle mit dem "X" auf. Kann das Excel nicht ? oder bin ich einfach auf dem falschen Weg? Würde mich freuen wenn ihr mir als Anfänger ein paar Tipps geben könntet oder sogar ein Lösungsvorschlag.
hier noch mein bis jetzt zusammen gewürfelter Code. Wenn es nicht Optimal geschrieben ist, entschuldigt dieses bitte !
Gruß Marco
Private Sub Urlaub_planen_Click()
'Schreibschutz aufheben
ActiveSheet.Unprotect "elite"
'Kommentar zufügen
With ActiveCell
If Not .Comment Is Nothing Then
.Comment.Text .Comment.Text & vbLf & "Urlaub beantragt "
&CDate(Format(Now, " _dd.mm hh:mm:ss") & Environ("test"))
Else
.AddComment "Urlaub beantragt " & CDate(Format(Now, "dd.mm hh:mm:ss")
& Environ(" _test"))
End If
.Comment.Shape.DrawingObject.AutoSize = True
End With
'Wert eintragen
Selection.Value = "X"              'ActiveCell.Value = "X"
'Überprüfen ob Zelle gespert/PW setzen
If Target.Cells.Locked = False And Target.Cells  "" Then
Target.Cells.Locked = True
ActiveSheet.Protect "elite"
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Befehlschaltfläche funktioniert nicht wie sie soll
06.02.2016 14:28:37
Matthias
Hallo Marco
Wo hast Du den Code stehen, in einem allg. Modul?
Das kennt kein Target
Hast Du als erste Zeile auch Option Explicit stehen?
Dann würde Dir VBA sofort zeigen in welcher VBA-Code-Zeile der Fehler auftritt.
Gruß Matthias

so funktioniert es wie sie soll ...
06.02.2016 14:32:35
Matthias
Hallo
Option Explicit
Private Sub CommandButton1_Click()
'Schreibschutz aufheben
ActiveSheet.Unprotect "elite"
'Kommentar zufügen
With ActiveCell
If Not .Comment Is Nothing Then
.Comment.Text .Comment.Text & vbLf & "Urlaub beantragt " & CDate(Format(Now, " _dd.mm hh: _
mm:ss") & Environ("test"))
Else
.AddComment "Urlaub beantragt " & CDate(Format(Now, "dd.mm hh:mm:ss") & Environ(" _test"))
End If
.Comment.Shape.DrawingObject.AutoSize = True
End With
'Wert eintragen
Selection.Value = "X"              'ActiveCell.Value = "X"
ActiveSheet.Protect "elite"
End Sub
Gruß Matthias

Anzeige
AW: so funktioniert es wie sie soll ...
06.02.2016 14:45:00
Marco
Hallo Matthias
Also mein Code Stand/Steht bei mir direkt im Arbeitsblatt, habe dein Code mal in ein Modul eingefügt, es passiert leider genau das gleiche ! Wenn ich jetzt dein Code mal Schrittweise mit F8 durch gehe passiert folgendes, bis zum Eintrag des Buschtaben "X" wieder alles gut , nur der Letzte Schritt Blattsperre macht immer zicken, dort springt er nicht zum Punkt Blattsperre sondern geht zu irgendein anderen Sub im Vba Menü , und dieser ist nicht mal immer der gleiche, was das heisst habe ich leider keine Ahnung.

AW: so funktioniert es wie sie soll ...
06.02.2016 14:50:34
Matthias
Hallo
Ich habe ja nicht gesagt, das Du den Code in ein Modul stellen sollst,
sondern habe nur nachgefragt wo der Code steht!
Er gehört in das entsprechende Tabellenblatt.
https://www.herber.de/bbs/user/103327.xlsm
Gruß Matthias

Anzeige
AW: so funktioniert es wie sie soll ...
06.02.2016 15:06:50
Marco
Hallo
habe es auch im Tabellenblatt versucht auch da keine Wirkung fliegt auch beim letzten Schritt Blattschutz raus.
Habe mal das Tabellenblatt kopiert und in eine Neue Mappe kopiert dort Funktioniert alles wie es soll !
liegt also wohl an irgend etwas anderes, werde mich mal auf die suche begeben.
Danke für deine Hilfe

317 Forumthreads zu ähnlichen Themen


Hallo, kann ich einen Zeilenumbruch in eine Formel berücksichtige.
Das ist meine Formrl:
=WENN(A11"";VERKETTEN(A11;"/";$C$2;" - ";B11;"/";$C$2;
"ZEILENUMBRUCH AN DIESE STELLE";$C$4;". Trommel X von ";F11);"")
Danke im voraus
Jo. Bo.
Anzeige

Hallo Leute,
habe mal wieder eine bescheidene Frage.
Ich würde gerne in einer Zelle nach jeder Zeichenfolge, die mit einem Leerzeichen abgeschlossen ist, anstelle des Leerzeichens einen Zeilenumbruch erzwingen.
Wie kann man das mit VBA machen?
Irgendwo anders habe ich gefunden w...

hallo
möchte die daten aus einer sql-datenbank mittels makro aktualisieren. dazu hebe ich zuerst den blattschutz auf, aktualisiere und setze den blattschutz wieder. das makro läuft einwandfrei. sobald ich es aber mit einer userform auf dem blatt selbst verknüpfe, kriege ich eine fehlermeldu...
Anzeige

Guten Tag zusammen,
so, ich habe den Eindruck, daß ich heute zweimal Eure Hilfe brauchen werde und hoffe, daß mich jemand unterstützen kann:
Ich kopiere eine Zelle aus einer Excel Datei, bei der als Format "Zeilenumbruch" gekennzeichnet ist.
In dem Tabellenblatt, in das ich den I...

Hallo Leute,
die nachfolgende Formel ragt wegen ihrer Länge weit über den Rand des VBA-Editors hinaus und wirkt dadurch unübersichtlich. Mir ist bekannt dass Zeilenumbrüche mit „ _“ erzwungen werden können, aber bei dieser Formel klappt das nicht. Wenn ich ein Leerzeichen und einen Unterstr...

Hallo liebe Spezialisten,
Nach dem Umstieg von Excel 93 auf 2010 bin ich ein wenig verwirrt.
In Excel 93 war es recht einfach eine benutzerdefinierte Schaltfläche in einer eigenen Symbolleiste zu erstellen, und dann diese Symbolleiste der Datei anzufügen.
Aber wie klappt das in Exce...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige