Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Button erstellen
#1
Moin,

ich bin wenig erfahren und wenig belesen was Excel angeht, deswegen diese Frage zu Buttons und Funktion.

Wie ich den Button selber einfüge weiss ich zumindest.
Was er tun soll ist, auf klick, zu A1 +1 zu rechnen und zu A2 +2 zu rechnen und dies jedesmal wenn ich drauf drücke.
Für mich hört sich das sehr einfach erstmal an, allerdings hab ich, nicht mal ansatzweise, eine Ahnung wie ich dies umsetze.

Greetings

Schmauke
Antworten Top
#2
Hallo,

und ich habe noch nicht einmal ansatzweise eine Idee, wozu das gut sein soll.

Code:
Private Sub CommandButton1_Click()
   Range("A1") = Range("A1") + 1
   Range("A2") = Range("A2") + 2
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • Schmauke
Antworten Top
#3
(30.12.2018, 12:33)Klaus-Dieter schrieb: Hallo,

und ich habe noch nicht einmal ansatzweise eine Idee, wozu das gut sein soll.

Code:
Private Sub CommandButton1_Click()
   Range("A1") = Range("A1") + 1
   Range("A2") = Range("A2") + 2
End Sub

Vielen Dank. Hat wunderbar geklappt.

Eine weitere Frage ist jedoch aufgekommen.
Wenn ich das "Blatt" schützen möchte, jedoch den Button freigegeben lassen haben möchte, wie stell ich das an? 
Wenn ich über "Steuerelement formatieren" den Schutz raus nehmen, kann man die Button trotzdem, bei geschützen Blatt, nicht benutzen.
Antworten Top
#4
Hi,

Code:
Option Explicit

Private Sub CommandButton1_Click()
   ActiveSheet.Unprotect
       Range("A1") = Range("A1") + 1
       Range("A2") = Range("A2") + 2
   ActiveSheet.Protect
End Sub
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Schmauke
Antworten Top
#5
Hallöchen,

alternativ kannst Du den Schutz bei A1 und A2 generell rausnehmen (Zellen formatieren …) , wenn dort eine manuelle Eingabe erlaubt sein kann.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo, :19:

das ist jetzt in deinem Fall nicht ganz so entscheidend, aber wenn möglich verzichtet man auf "Unprotect" - Code ausführen - "Protect". Warum?

1. Das muss bei jeder Anwendung des Codes durchlaufen werden.
2. In einem Fehlerfall - und ohne richtige Fehlerbehandlung - bleibt das Blatt unter Umständen ungeschützt.

Dafür haben die Programmierer von Microsoft den Schalter "UserInterfaceOnly" in den Parametern der Worksheet.Protect-Methode untergebracht.:21:


UserInterfaceOnly - Optional - Variant - TRUE, um die Benutzeroberfläche, aber keine Makros zu schützen. Wenn dieses Argument nicht angegeben wird, gilt der Schutz für Makros und die Benutzeroberfläche.


Also, wenn dieser Parameter gesetzt wird, können Makros Änderungen am Tabellenblatt vornehmen, ohne dass jedesmal der Schutz entfernt und wieder gesetzt werden muss.

Einen kleinen Haken hat die Sache aber - nach dem schließen der Arbeitsmappe ist das Makulatur. Dafür wird das dann einmal beim öffnen der Datei erledigt.

Code gehört unter "DieseArbeitsmappe" (für alle Tabellenblätter der Datei):
Code:
Option Explicit
Private Sub Workbook_Open()
    Dim wksSheet As Worksheet
    For Each wksSheet In ThisWorkbook.Worksheets
        wksSheet.Protect UserInterfaceOnly:=True
    Next wksSheet
End Sub

Für ein bestimmtes Tabellenblatt (Tabellenblattname gegebenenfalls anpassen):

Code:
Option Explicit
Private Sub Workbook_Open()
    ThisWorkbook.Worksheets("Tabelle1").Protect UserInterfaceOnly:=True
End Sub

Schau dir auch noch die anderen Parameter an. Z. B. ein Kennwort vergeben.

Ich bin fast geneigt mit Dr. rer. nat. Angela Dorothea Merkel zu sagen - das ist Alternativlos. 05
________
Servus
Case
[-] Folgende(r) 3 Nutzer sagen Danke an Case für diesen Beitrag:
  • schauan, WillWissen, Steffl
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste