Clever-Excel-Forum

Normale Version: Kreuz im Vordruck durch Anklicken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
[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
Hallo,

dann teste es mal:


Code:
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
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.
(25.02.2017, 10:44)Maximus schrieb: [ -> ]DANKE Atiilla für das Programm!!!

Ich muss jetzt erstmal schauen, wie ich das Programm in den Vordruck bekomme.
Ich weiss irgendwie über Entwicklertools.

lies auch mal hier:  online-excel.de
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? Blush
: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
Seiten: 1 2 3