[attachment=9830][attachment=9831]
Guten Tag,
ich hätte eine Bitte.
ich möchte in meinem Vordruck( Excel-Tabelle), durch einfaches Anklicken einer Zelle, ein X (Kreuz) setzen können.
In folgenden Zellen sollte das Setzen eines X durch das Anklicken mit der Maus möglich sein:
Spalten von A bis I UND in der Zeile 3
Spalten von A bis G UND in den Zeilen von 13 bis 20
Spalten von G bis H UND in der Zeile 30
Habe im Internet 3 geschriebene Programme gefunden (siehe Anhang), die sich mit dem Setzen des X in Zellen verbinden.
Aber ich bin nicht in der Lage, diese Programme zu lesen und umzuschreiben. Visual Basic über Entwicklertools ist für mich schwierig zu verstehen.
Wäre super nett, wenn mir ein Fachmann hier weiterhelfen könnte.
DANKE!
Gruss Markus
Anhang:
Vordruck
Programme
DANKE Atiilla für das Programm!!!
Ich muss jetzt erstmal schauen, wie ich das Programm in den Vordruck bekomme.
Ich weiss irgendwie über Entwicklertools.
Ich schau mir noch ein paar Youtube Videos an und dann hoffe ich zu wissen, wor rein damit und dann melde ich mich wieder.
Vielen Dank schon mal!!!!!!!!!!!!!!!!!!!!!!!!!!
PS: Ich hatte vorletzte Woche 3Tage Excel Lehrgang über Arbeit, aber mit Enticklertools haben wir nie gearbeitet. Der Vorturner hat darüber auch nie was gesagt.
Aber cool, dass es sowas gibt.
Hallo,
der Code muss in das Modul des entsprechenden Tabellenblattes. Das wäre z.B. ein möglicher Weg:
- mit Alt+F11 den VBA-Editor öffnen
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- auf das gewünschte Tabellenblatt unterhalb dieser Datei doppelklicken
- in der rechten Fensterhälfte ist das Codefenster dieser Tabelle sichtbar
- dort den Code einfügen
- speichern und den VBA-Editor mit Alt+F4 schliessen
(25.02.2017, 10:48)Peter schrieb: [ -> ]Hallo,
der Code muss in das Modul des entsprechenden Tabellenblattes. Das wäre z.B. ein möglicher Weg:
- mit Alt+F11 den VBA-Editor öffnen
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- auf das gewünschte Tabellenblatt unterhalb dieser Datei doppelklicken
- in der rechten Fensterhälfte ist das Codefenster dieser Tabelle sichtbar
- dort den Code einfügen
- speichern und den VBA-Editor mit Alt+F4 schliessen
danke peter für den Weg, ich werde mich morgen ganz in Ruhe damit auseinandersetzen.
Moin!
Nur am Rande, ist auch nur meine ureigene Meinung und soll nicht besserwisserisch sein.
Ich bin kein Freund vom Variablenoverkill.
Statt:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' x in die Zelle
Dim RaBereich1 As Range, RaBereich2 As Range, RaBereich3 As Range
Dim RaBereich As Range
Set RaBereich1 = Range("A3:I3")
Set RaBereich2 = Range("A13:G13")
Set RaBereich3 = Range("G30:H30")
Set RaBereich = Union(RaBereich1, RaBereich2, RaBereich3)
If Intersect(Target, RaBereich) Is Nothing Then Exit Sub
' Abbruch, wenn Aktion nicht im Zielbereich
Application.EnableEvents = False
Cancel = True
If Target.Value = "x" Then
Target.Value = ""
Else
Target.Value = "x"
End If
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub
reicht auch:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A3:I3,A13:G13,G30:H30"), Target) Is Nothing Then
Application.EnableEvents = False
Target.Value = IIf(Target.Value = "x", "", "x")
Application.EnableEvents = True
Cancel = True
End If
End Sub
Wie gesagt, nur ergänzend.
Gruß Ralf
(25.02.2017, 11:58)RPP63 schrieb: [ -> ]Moin!
Nur am Rande, ist auch nur meine ureigene Meinung und soll nicht besserwisserisch sein.
ja, nee ne.
Ist überhaupt nicht besserwisserisch.
Ist einfach - ist besser.
Habe hier aber absichtlich darauf verzichtet, weil ich am Anfang meiner Excel Kariere bestimmte Zusammenhänge
aus meinem vorgeschlagenen Code heraus verstanden habe. Später ist es einfacher das Überflüssige abzuwerfen.
Das Ganze dann im Zusammenhang sehen, dass der TE auch am Anfang steht.
Aber mehrere Alternativen zu sehen ist sogar lehrreicher.
Ok, Du Besserwisser?
:19:
Bin völlig Deiner Meinung!
Gruß Ralf
Hi ALLE, die mir geholfen haben.
Habe beide (drei) Programme eingefügt und die Funktion lief.
Alle drei Programme haben gleich funktionert.
Nur von A bis G und Zeile 14-20 funktionierte nicht.
Mit meinem Laien-Wissen habe ich einfach bei einem der Programme A-G Zeile 14bis20 eingefügt.
Hat dann auch funktioniert. siehe unten:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A3:I3,A13:G13,A14:G14,A15:G15,A16:G16,A17:G17,A18:G18,A19:G19,A20:G20,G30:H30"), Target) Is Nothing Then
Application.EnableEvents = False
Target.Value = IIf(Target.Value = "x", "", "x")
Application.EnableEvents = True
Cancel = True
End If
End Sub
Ich bin folgendermaßen vorgegangen:
- mit Alt+F11 den VBA-Editor geöffnet
- Tabelle 1 doppelklick, rechtes Fenster hat sich geöffnet
- Code eingegeben
- über blaue Diskette gespeichert
- Alt +F4 geschlossen
Beim Speichern wurde folgende Fehlermeldung gegeben:
Die folgenden Feautures können in Arbeitsmappe ohne Makros nicht gespeichert werden. Ich habe das mit Ja bestätigt.
Wenn ich auf nein gedrückt habe, hat es nicht funktionert.
Was mich wundert, ich habe zwar über die blaue Diskette gespeichert, aber sobald ich Excel geschlossen habe, war auch das Programm weg.
Obwohl ich doch gespeichert habe.
Ich bekomme einfach das Programm nicht gespeichert.
Schade, dass es keine Möglichkeit gibt, wenn man einmal ein X gesetzt hat, dieses X wieder rückgängig zu machen. So dass wenn man nochmal doppel-klick drückt, dass wieder der Ursprungswert drinne ist.
Oder kann man da was machen?
Gruss Markus