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.

VBA: Klick auf leere Zelle soll Zahlenwert aus einer anderen Zelle übernehmen
#1
Hallo,
ich bräuchte eure geschätzte Hilfe für die Tabelle "Beschluss":

Durch einfachen Klick oder Doppelklick in eine der drei Leerzellen "Zustimmung", "Ablehnung" oder "Enthaltung" (E12:G12) sollte der ganzzahlige Zahlenwert der Zelle "Eigentümeranteil" (D12) z. B. 61 automatisch in die betreffende Leerzelle eingefügt werden.
Dies sollte immer zeilenweise erfolgen für aktuell insg. 8 Zeilen, d.h. D12 bis D19 in der Tabelle "Beschluss".

Eine eingebaute Rücksetzfunktion wäre natürlich noch super.

Herzliche Grüße
Frank
Antworten Top
#2
Hallo Frank,

in das schon vorhandene VBA-Modul des Tabellenblattes "Beschluss" (Rechtsklick auf den Tabellenreiter > Code anzeigen) kommt folgender Code:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim lngTemp As Long
  If Not Application.Intersect(Target, Range("E12:G19")) Is Nothing Then
    Cancel = True
    lngTemp = Application.Max(Cells(Target.Row, 4).Resize(, 4))
    If Target = "" Then
      Cells(Target.Row, 4).Resize(, 4) = ""
      Target.Value = lngTemp
    Else
      Cells(Target.Row, 4).Resize(, 4) = ""
      Cells(Target.Row, 4).Value = lngTemp
    End If
  End If
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • brahman
Antworten Top
#3
Hallo Herr Kuwer,

erstmal ganz ganz lieben Dank für die schnelle und professionelle Hilfe. 
Super, funktioniert alles tadellos, auch die Rücksetzfunktion. 

Wäre es vielleicht möglich, daß der Zahlenwert z.B. 61 von der Quelle, d.h. der Zelle "Anwesend" (D12) nach dem Kopieren erhalten bleibt? 
Momentan wird er nämlich physisch verschoben zur jeweilig angeklickten Zielzelle "Zustimmung/Ablehnung/Enthaltung".
Ist-Zustand nach Klick: D12: leer und E12: 61
Soll-Zustand nach Klick: D12: 61 und E12: 61

Herzliche Grüße
Frank
Antworten Top
#4
Hallo Frank,

dann so:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Application.Intersect(Target, Range("E12:G19")) Is Nothing Then
    Cancel = True
    If Target = "" Then
      Cells(Target.Row, 5).Resize(, 3) = ""
      Target.Value = Cells(Target.Row, 4).Value
    Else
      Target = ""
    End If
  End If
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • brahman
Antworten Top
#5
Hallo Uwe,

super, jetzt funktioniert alles Bestens! 
Du machst echt einen sehr guten Job!  18
Nochmals ganz lieben Dank und vergelt's Gott reichlich!

Kannst du mir vielleicht ein Buch empfehlen, damit ich mich ein bisschen Einlesen kann in diese Art der Vercodung in Excel?
Ich hab nämlich keine Ahnung davon, kannte bisher nur die Formeln.
Ist das übrigens VBA?

Herzliche Grüße
& ein wunderschönes Wochenende

Frank  19
Antworten Top
#6
Hallo Frank,

dankeschön und ja, es ist VBA.

Für den VBA-Einstieg scheint mir z.B. dieses Buch recht brauchbar.

Gruß Uwe
Antworten Top


Gehe zu:


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