Anzeige
Archiv - Navigation
1592to1596
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Button nach Klick in in danach aktivierte Zelle
24.11.2017 13:38:27
Dieter(Drummer)
Guten Tag, Spezialisten,
ich möchte den Commandbutton3 durch den Klick in eine andere Zelle setzen.
Wichtig ist, das erst nach dem Klick auf CommandButton3 die Zelle aktiviert wird, in die der Button dann eingefügt werden soll.
Mein Versuche hatten bisher keinen Erfolg und im Netz konnte ich auch nichts finden.
Mit der Bitte um Hilfe,
grüßt, Dieter(Drummer)
Mein bisgeriger Code:
  • 
    Private Sub CommandButton3_Click()
    Dim rng As Range
    Set rng = ActiveCell
    Worksheets("Tabelle1").Activate
    If Not rng Is Nothing Then
    With ActiveSheet.OLEObjects("CommandButton3")
    .Top = rng.Top
    .Left = rng.Left
    .Width = rng.Width
    .Height = rng.RowHeight 'für 1 Zelle
    End With
    End If
    End Sub
    

  • 19
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Du brauchst doch die Zielzelle ...
    24.11.2017 14:01:14
    Matthias
    Hallo,
    wenn Du erst eine Ziel-Zelle aktivieren willst nachdem der Button gedrückt wird,
    was hat das für einen Sinn? Dann ist der Code doch schon durch.
    Was also hast Du genau vor?
    Gruß Matthias
    AW: Du brauchst doch die Zielzelle ...
    24.11.2017 14:07:48
    Dieter(Drummer)
    Danke Mathias für Rückmeldung,
    ich möchte NACH dem Klick auf Button3, anschliessend eine Zelle aktivieren in die der Button3 dann gesetzt wird.
    Gruß, Dieter(Drummer)
    warum willst Du dann erst aufs Button klicken?
    24.11.2017 14:26:39
    Matthias
    Hallo,
    dann nimm doch gleich das
    Worksheet_SelectionChange-Ereignis
    Gruß Matthias
    AW: warum willst Du dann erst aufs Button klicken?
    24.11.2017 14:32:22
    Dieter(Drummer)
    Hallo Matthias,
    auf dem Sheet sind viele (25) Buttons, die je nach dem Buttonklick auf die DANACH gewählte, neue Zelle gesetzt werden sollen.
    Gruß, Dieter(Drummer)
    Anzeige
    AW: warum willst Du dann erst aufs Button klicken?
    24.11.2017 14:50:18
    Peter(silie)
    Hallo,
    bei der Anzahl brauchst du Klassenprogrammierung.
    Wo ist der Sinn von 25 OleObjekten auf einem Tabellenblatt, die ihre Position ändern...?
    Bei Basiskenntnisse VBA rate ich dir ab, Controls zur Laufzeit zu bewegen zu ändern etc.
    Wenn du nicht zu 100% weißt was abläuft und alles unter Kontrolle hast, dann lieferst du
    deinen Leuten ein Produkt, wo keiner weiß was als nächstes passiert.
    Generische Codes sind schön und gut, aber nunmal nicht ganz simpel und einfach.
    Hier ein Beispiel Code der mit DoubleClick funzt, geht aber genauso mit SelectionChange:
    (Ohne Klassenprogrammierung...)
    Option Explicit
    Private lastAddress As Variant
    Private wasClicked As Boolean
    Private Sub CommandButton3_Click()
    If Not wasClicked Then wasClicked = True
    End Sub
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If lastAddress  Target.Address And wasClicked Then
    Cancel = True
    wasClicked = False
    With ActiveSheet.OLEObjects("CommandButton3")
    .Top = Target.Top
    .Left = Target.Left
    .Width = Target.Width
    .Height = Target.RowHeight 'für 1 Zelle
    End With
    lastAddress = Target.Address
    End If
    End Sub
    

    Anzeige
    AW: warum willst Du dann erst aufs Button klicken?
    24.11.2017 15:09:52
    Dieter(Drummer)
    Danke Peter(silie),
    ich habe deinen Code eingefügt (Testdatei mit 3 Buttons anbei). Bei Klick auf Button3 passiert nichts, wenn ich anschliessend irgendeine Zelle anklicke.
    Erläuterung, warum ich das überhaupt so möchte.
    Jeder einzelne Button soll nach dem Buttonklick in eine nachträglich ausgewählte Zelle eingefügt werden.
    Wenn dann alle Buttons in einer Zelle eingefügt sind, kann ich sehen, ob der entsprechende Button in der richtigen Zelle eingefügt wurde. Wenn nur einer nicht richtig sitzt, wurde es falsch gemacht.
    Wo die Buttons eigentlich sitzen sollten, ist mir bekannt, aber es soll halt geshen werden, ob sie richtig gesetzt wurden.
    Danke erstmal für Geduld, meine Vorstellung evtl. realiseren zu können.
    Gruß, Dieter(Drummer)
    In der Testdatei anbei passiert nicht nach Klick auf Button3: https://www.herber.de/bbs/user/117895.xlsm
    Anzeige
    AW: Button nach Klick in in danach aktivierte Zelle
    24.11.2017 15:08:25
    Nepumuk
    Hallo Dieter,
    ein Beispiel für die ersten 2 Buttons, den Rest kannst du selbst ergänzen:
    Option Explicit

    Private mobjButton As MSForms.CommandButton

    Private Sub CommandButton1_Click()
        Set mobjButton = CommandButton1
    End Sub

    Private Sub CommandButton2_Click()
        Set mobjButton = CommandButton2
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not mobjButton Is Nothing Then
            With Target
                mobjButton.Left = .Left
                mobjButton.Top = .Top
            End With
            Set mobjButton = Nothing
        End If
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Danke Nepumuk, eine perfekte ...
    24.11.2017 15:14:18
    Dieter(Drummer)
    ... Lösung für mich und die Erweiterung für die anderen Buttons bekomme ich hin.
    Danke nochmal und für die Geduld meiner Wünsche.
    Gruß, Dieter(Drummer)
    Die Größenanpassung an die Zelle fehlt noch ...
    24.11.2017 15:19:45
    Matthias
    Hallo
    aber das kannst Du ja noch anpassen
    Meine Variante behalte ich dann eher für mich, denn die wäre viel länge als die von Nepumuk.
    Gruß Matthias
    AW: Die Größenanpassung an die Zelle fehlt noch ...
    24.11.2017 15:45:23
    Dieter(Drummer)
    Hallo Mathias L,
    ich hoffe es gibt keine Unstimmigkeiten, weil ich mit dir und Nepumuk eine Lösung suche.
    Das mit der fehelenden Größenaanpassung hatte ich schon bemerkt und an Nepumuk jetzt auch gesendet.
    Deine Lösung interessiert mich ebenfalls, denn da könnte ich ja auch etwas dazu lernen.
    Würde mich freuen, wenn es nicht zu Ärger führt und ich deine Lösung ebenfalls bekäme.
    Gruß, Dieter(Drummer)
    Anzeige
    das gibts doch keine Unstimmigkeiten ...
    24.11.2017 16:26:58
    Matthias
    Hallo Dieter,
    es gibt doch keine Unstimmigkeiten. Warum auch?
    Meine VersuchsDatei habe ich schon wieder gelöscht
    und hätte Dich allerdings auch nur verwirrt.
    Gruß Matthias
    AW: Danke für Rückinfo. Gruß owT
    24.11.2017 16:50:08
    Dieter(Drummer)
    AW: Button nach Klick in in danach aktivierte Zelle
    24.11.2017 15:40:48
    Dieter(Drummer)
    Hallo Nepumuk,
    leider fehlt da noch die Größenanpassung des Buttons an die neue Zelle.
    Könntest du da bitte nochmal helfen.
    Gruß, Dieter(Drummer)
    Jetzige Testdatei: https://www.herber.de/bbs/user/117897.xlsm
    AW: Habe Anpassung geschafft ...
    24.11.2017 15:57:54
    Dieter(Drummer)
    ... Nepumuk,
    so funktioniert alles wie gewünscht:
    Private mobjButton As MSForms.CommandButton
    Private Sub CommandButton1_Click()
    Set mobjButton = CommandButton1
    End Sub
    

    Private Sub CommandButton2_Click()
    Set mobjButton = CommandButton2
    End Sub
    

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not mobjButton Is Nothing Then
    With Target
    mobjButton.Left = .Left
    mobjButton.Top = .Top
    mobjButton.Height = .Height
    mobjButton.Width = .Width
    End With
    Set mobjButton = Nothing
    End If
    End Sub
    
    Danke nochmal für Hilfe und einen schönen Resttag.
    Gruß, Dieter(Drummer)
    Anzeige
    ..wie oft "hüpfst" Du noch durchs Forum?
    24.11.2017 18:13:02
    robert
    robert, robert, memento morituri! ;-]
    25.11.2017 03:42:59
    Luc:-?
    Bringt doch nichts, außer Ärger…!
    Hajo soll übrigens auch mal so wie DD angefangen haben, war und ist nur jünger (und trotzdem schon wunderlich)…
    Gruß & schöWE, Luc :-?
    OT-Hi Luc.
    25.11.2017 18:32:35
    robert
    ich ärgere mich nicht, ich wundere mich nur über die Beiträge von DD-sinnlose,wiederkehrende
    Fragen(Probleme) und die Helfer stürzen sich auf Ihn.
    Es ist schon gut, wenn einem geholfen wird, aber was DD da anfragt-naja...
    Und er gibt immer noch Basiskenntnisse als Level an.
    Zig mal hüpft da ein Button in der Tabelle herum und ein Ende ist nicht in Sicht :-)
    Dann das bedanken bei jedem Helfer( schleimig )-Beiträge werden ellenlang-
    "Danke an alle die mir geholfen haben"-sollte ja auch genügen-oder?
    Und zu Deinem-"Bringt doch nichts"-was spielt sich bei Luc und Daniel ab? :-))
    So hat halt ein jeder seine Macken, mich eingeschlossen,aber mich zu ändern-dazu ist es zu spät:-)
    Gruß und ein eben solches schöWE
    robert
    Anzeige
    hat eben alles Vor- und Nachteile, robert
    25.11.2017 19:18:35
    Matthias
    Hallo,
    ich habe z.B. durch Dieters Frage ein Schachspielanalyse programmiert
    Genau nach der Art der Frage die Button zu bewegen.
    Userbild
    Ohne die Frage von Dieter hätte ich die Idee nie gehabt.
    Hier im Bild gehts nur darum eine Partie nachzustellen und verschiedene
    Spielzug-Varianten zu testen und ich habe keine Ahnung von Schach.
    Meine Bitte an Dich robert, lass doch den Dieter in Zukunft einfach in Ruhe.
    Es ist doch sein gutes Recht Fragen zu stellen. Es stürzt sich auch niemand drauf.
    Es wird gelesen und es gibt eine Antwort! So solls doch sein, oder?
    Schönes WE ...
    Gruß Matthias
    Anzeige
    Eben, bringt auch nur Ärger, ...
    26.11.2017 00:34:42
    Luc:-?
    …robert,
    aber noch nicht den, den ich gemeint hatte ;-]
    Gruß, Dank & schöSo, Luc :-?

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige