Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

CommandButton mit 2. Klick in andere Zelle

Forumthread: CommandButton mit 2. Klick in andere Zelle

CommandButton mit 2. Klick in andere Zelle
20.11.2017 17:33:24
Dieter(Drummer)
Guten Tag Spezialisten,
mit diesem Code geht bei Klick der Commandbutton1 in Zelle D7 und wird an die Zellgröße angepasst. Das funktioniert.
Code:

Private Sub CommandButton1_Click()
Dim pos1 As Range
Set pos1 = Range("d7")
With CommandButton1
.Height = pos1.Height
.Width = pos1.Width
.Top = pos1.Top
.Left = pos1.Left
End With
End Sub

Wie nuss der Code lauten, damit ich mit dem nächsten (2ten) Klick auf den Button1, der Button1 in eine andere Zelle springt und ebenfalls dort an die Zellgröße angepasst wird?
Habe einige Versuche gemacht, aber bekomme es nicht hin.
Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 17:41:02
onur

Dim pos1 As Range
Dim pos2 As Range
Set pos1 = Range("d7")
Set pos2 = Range("?")' hier der andere Range
If CommandButton1.Top = pos1.Top then
Der neue Code für pos usw.
Else
Der alte Code für pos usw
End If
Rest vom Code

AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 18:01:02
Dieter(Drummer)
Danke Onur für Rückmeldung,
den Code habe ich jetzt so, aber er bleibt hängen bei " .Height = pos2.Height", mit der Angabe "Fehler beim kompilieren ...".
Code:
rivate Sub CommandButton1_Click()
Dim pos1 As Range
Dim pos2 As Range
Set pos1 = Range("d7")
Set pos2 = Range("a2") ' hier der andere Range
If CommandButton1.Top = pos1.Top Then
.Height = pos2.Height
.Width = pos1.Width
.Top = pos2.Top
.Left = pos2.Left
'Der neue Code für pos usw.
Else
.Height = pos1.Height
.Width = pos1.Width
.Top = pos1.Top
.Left = pos1.Left
'Der alte Code für pos usw
End If
End Sub
Was habe ich da falsch? Deine Infos umzusetzen, ist nicht so einfach für mich.
Gruß, Dieter(Drummer)
Anzeige
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 18:14:13
Luschi
Hallo Dieter,
so wird ein Schu draus:

Private Sub CommandButton1_Click()
Dim pos1 As Range
Dim pos2 As Range
Set pos1 = Range("d7")
Set pos2 = Range("a2") ' hier der andere Range
With CommandButton1
If .Top = pos1.Top Then
.Height = pos2.Height
.Width = pos1.Width
.Top = pos2.Top
.Left = pos2.Left
Else
.Height = pos1.Height
.Width = pos1.Width
.Top = pos1.Top
.Left = pos1.Left
End If
End With
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 18:27:34
Dieter(Drummer)
Danke Luschi,
es funktioniert, bis auf den Sprung in a2. Der Button geht in a2 aber er passt sich nicht an die Zellgröße an. Kannst du da sehen warum?
Gruß, Dieter(Drummer)
funktioniert doch ... owT
20.11.2017 18:33:26
Matthias
AW: funktioniert doch ... owT
20.11.2017 18:40:50
Dieter(Drummer)
Hallo Matthias,
hier ist meine Testdatei. Das hin und her springen fubktioniert. In a2 wird der Button aber NICHT an die Zellgröße angepasst. Ich sehe nicht warum das so ist. Evtl. siehst du, woran es liegt.
Gruß, Dieter(Drummer)
Datei: https://www.herber.de/bbs/user/117796.xlsm
Anzeige
mach mal ne 2 aus der 1
20.11.2017 18:44:00
Matthias
With CommandButton1
If .Top = pos1.Top Then
.Height = pos2.Height
.Width = pos1.Width '?
.Top = pos2.Top
.Left = pos2.Left
AW: mach mal ne 2 aus der 1
20.11.2017 18:49:52
Dieter(Drummer)
Danke Matthias,
jetzt gehts. Da hätte ich auch drauf kommen können ... Sorry ...
Hätte da noch ein Bitte. Ist es auch möglich, dass der 2. Sprung (hier a2) nicht festgelegt wird, sondern frei mit Klick auf irgendeine Zelle frei gewählt werden kann?
Das wäre dann das non plus ultra.
Wär tolle, wenn du da noch eine Lösung hast.
Gruß, Dieter(Drummer)
Anzeige
die Lösung hat doch UweD schon vorgeschlagen ...
20.11.2017 18:54:22
Matthias
Hallo
Set pos1 = Range("d7")
Set pos2 = ActiveCell ' hier der andere Range
Gruß Matthias
AW: die Lösung hat doch UweD schon vorgeschlagen ...
20.11.2017 19:01:09
Dieter(Drummer)
Danke Matthias,
das funktioniert perfekt. Den Hinweis von Uwe konnte ich nicht sofort umsetzen. Man lernt nie aus ...
Danke und einen schönen Abend.
Gruß, Dieter(Drummer)
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 19:29:02
onur

Private Sub CommandButton1_Click()
Dim pos1 As Range
Dim pos2 As Range
Set pos1 = Range("d7")
Set pos2 = Range("a2") ' hier der andere Range
With CommandButton1
If .Top = pos1.Top Then
.Height = pos2.Height
.Width = pos2.Width
.Top = pos2.Top
.Left = pos2.Left
Else
.Height = pos1.Height
.Width = pos1.Width
.Top = pos1.Top
.Left = pos1.Left
End If
End With
End Sub

Anzeige
verschlafen ;-) ... owT
20.11.2017 19:31:10
Matthias
AW: verschlafen ;-) ... owT
20.11.2017 19:36:47
onur
Shit happens. :-)
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 17:41:39
UweD
Hallo
kannst du nicht erst die Wunschzelle anclicken und dann den button?
dann mit activecell arbeiten
LG UweD
Anzeige
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 18:02:25
Dieter(Drummer)
Danke UweD,
ich würde es gerne in einem Code machen wollen.
Gruß, Dieter(Drummer)
AW: CommandButton mit 2. Klick in andere Zelle
20.11.2017 19:05:23
Dieter(Drummer)
Danke UweD,
mir Hinweis von Matthias konnte ich dein Idee umsetzen und jetzt geht es prima.
Gruß und Danke, Dieter(Drummer)
Hier ist mein jetziger Code:
'Herber: von Luschi, MathiasL und UweD am 20.11.2017 17:14:13
Private Sub CommandButton1_Click()
Dim pos1 As Range
Dim pos2 As Range
Set pos1 = Range("d7")
Set pos2 = ActiveCell ' hier der andere Range in aktivierte Zelle. Hinweis von UweD
With CommandButton1
If .Top = pos1.Top Then
.Height = pos2.Height
.Width = pos2.Width
.Top = pos2.Top
.Left = pos2.Left
Else
.Height = pos1.Height
.Width = pos1.Width
.Top = pos1.Top
.Left = pos1.Left
End If
End With
End Sub

Anzeige
..Springer auf D7...Spiel noch nicht fertig? kT
20.11.2017 18:02:38
robert

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige