30.08.2018, 14:11
(Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2018, 14:15 von Excelsior940.)
Ich möchte die Koordinaten folgender Matrix erhalten indem ich mit dem Cursor eine Zelle auswähle. Wie kann ich das realisieren?
aktive Zelle addressieren
|
30.08.2018, 14:11
(Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2018, 14:15 von Excelsior940.)
Ich möchte die Koordinaten folgender Matrix erhalten indem ich mit dem Cursor eine Zelle auswähle. Wie kann ich das realisieren?
30.08.2018, 14:26
Hallöchen,
könnte es sein, dass Du die Koordinaten der angeklickten Zelle möchtest und nicht die Koordinaten der Matrix? Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox Target.Address End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
30.08.2018, 14:29
Nein, Ich möchte tatsächlich die Koordinaten der Matrix aber wahrscheinlich kann man auch einfach das was ich will von den Koordinaten der Zelle ableiten oder?
Ich habe gesehen, dass du Mitbetreiber dieses Forums bist. Vielen Dank dafür.
30.08.2018, 14:42
Hallöchen,
2x ja ansonsten kannst Du über Target.Row und Target.Column selbige ermitteln und ziehst die "verschobenen" Spalten und Zeilen ab. Die Ausgabe kann man auch noch mehr oder weniger genau auf den Bereich beschränken z.B. If Not Intersect(Target, Range("C4:L13")) Is Nothing Then … End If Ungenau ist das deswegen, weil man z.B. bei Auswahl der Zeile 4 auch einen Treffer landet. Das könnte man z.B. durch eine Prüfung auf Anzahl der gewählten "Target"-Zellen vermeiden, wenn man da 1 als erwartete Anzahl definiert.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
31.08.2018, 12:25
Deine Lösung hat leider nicht funktioniert bei mir. Vielleicht lag es auch an mir.
Ich habe jetzt folgendes Makro entworfen. Allerdings muss ich jedes Mal erneut F5 drücken, damit die neuen Koordinaten beim Auswählen einer neuen Zelle dort eingetragen werden. Wie mache ich das, dass dieses Makro mir nach jedem neuen auswählen einer Zelle die aktuellen Koordinaten anzeigt. Desweiteren wollte ich das ganze eigentlich mit: If Elseif Elseif ... Else machen aber da hat er mir immer das erste Elseif eingefärbt und gesagt: "Else ohne if" Sub ReturnActiveCell() Dim x As Integer Dim y1 As Long Dim y2 As Long x = ActiveCell.Column y1 = ActiveCell.Row If y1 = 4 Then y2 = 10 If y1 = 5 Then y2 = 9 If y1 = 6 Then y2 = 8 If y1 = 7 Then y2 = 7 If y1 = 8 Then y2 = 6 If y1 = 9 Then y2 = 5 If y1 = 10 Then y2 = 4 If y1 = 11 Then y2 = 3 If y1 = 12 Then y2 = 2 If y1 = 13 Then y2 = 1 Range("O4").Value = x - 2 Range("P4").Value = y2 End Sub
31.08.2018, 12:57
Hallo,
folgendes kommt in das schon vorhandene VBA-Modul des entsprechenden Tabellenblattes: Private Sub Worksheet_SelectionChange(ByVal Target As Range)Gruß Uwe
31.08.2018, 15:33
Hallöchen,
oder eben mit den Target's so: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("C4:L14")) Is Nothing And Target.Cells.Count = 1 Then Range("O4") = 14 - Target.Column Range("P4") = Target.Row - 3 End If End Sub Zum Thema ElseIf: http://www.clever-excel-forum.de/Thread-...#pid131989
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365) |
|