Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Aktuelle Zelladresse in Variable speichern
Frage
Hallo zusammen,
ich benötige mal eure Hilfe.
Ich habe einArbeitsblatt erstellt, in dem ich nur in Spalte V und X etwas ändern kann.
Nun soll nach der Änderung der Cursor natürlich in die nächste Zeile springen. Allerdings wird nach der Eingabe sofort eine Tabelle, die im Bereich A1..Q9 liegt, aktualisiert und zwar über ein Makro mit der soeben gemachten Eingabe. Ich müsste also die Zelladresse vor der Aktualisierung in einer Variablen speichern, um dann über offset(1,0) nach der Aktualisierung in die nächste Zeile zu springen.
Hat jemand einen Rat, wie ich das realisieren kann?
Google gibt da nicht so viel her.
Mein Versuch bisher.
Sub Worksheet_Change(ByVal Target As Range)
Dim aktuell As String
If Target.Column = 22 Or Target.Column = 24 Then
aktuell = Active.Cell.Address
Berechnen ´führt das Makro zum sortien aus
aktuell.Offset(1, 0).Activate
End If
End Sub
Vielen Dank im voraus.....
Roland
Antwort 1 von cmkatz
Hallo,
versuch mal so:
dim vCAdr as String
vCAdr = ActiveCell.Adress
ActiveCell.Adress liefert dir einen Wert wie z.B. $A$1
Du mußt die Variable halt in deinem Code so deklarieren, dass der Wert nicht zerschossen wird, wenn das Berechnungsmakro drüber läuft.
Gruß
cmkatz
versuch mal so:
dim vCAdr as String
vCAdr = ActiveCell.Adress
ActiveCell.Adress liefert dir einen Wert wie z.B. $A$1
Du mußt die Variable halt in deinem Code so deklarieren, dass der Wert nicht zerschossen wird, wenn das Berechnungsmakro drüber läuft.
Gruß
cmkatz
Antwort 2 von cmkatz
Hallo nochmal,
War natürlich fast Mist, was da eben gepostet habe!! Sorry!
Hier ein weiterer Versuch:
gruß
cmkatz
War natürlich fast Mist, was da eben gepostet habe!! Sorry!
Hier ein weiterer Versuch:
Public Sub test()
Dim vCAdrRow As Integer
Dim vCAdrCol As Integer
vCAdrRow = ActiveCell.Row
vCAdrCol = ActiveCell.Column
Cells(3, 2).Activate
´ hier jetzt deine Berechnung
ActiveCell.Value = "Hallo"
´ Berechnung Ende
Cells(vCAdrRow, vCAdrCol).Offset(1, 0).Activate
End Sub
gruß
cmkatz
Antwort 3 von rolakon
Hi cmkatz,
werde es mal ausprobieren und das Ergebnis wieder hier posten.
Danke für deine Mühe erstmal.
Gruß Roland
werde es mal ausprobieren und das Ergebnis wieder hier posten.
Danke für deine Mühe erstmal.
Gruß Roland
Antwort 4 von rolakon
Hallo cmkatz,
dein Beispiel funzt...:-)
Allerdings musste ich den Offset noch leicht verändern.
Der sieht nun so aus:
Cells(vCAdrRow, vCAdrCol).Offset(0, 0).Activate
Allerdings habe ich bisher nicht herausgefunden, weshalb der Offset über 2 Rows nach unten gesprungen ist, als dein Vorschlag noch so aussah:
Cells(vCAdrRow, vCAdrCol).Offset(1, 0).Activate
Vielen dank für deine Mühe....schönes Wochenende und vielleicht bis zum nächsten Mal.
Viele Grüße Roland
dein Beispiel funzt...:-)
Allerdings musste ich den Offset noch leicht verändern.
Der sieht nun so aus:
Cells(vCAdrRow, vCAdrCol).Offset(0, 0).Activate
Allerdings habe ich bisher nicht herausgefunden, weshalb der Offset über 2 Rows nach unten gesprungen ist, als dein Vorschlag noch so aussah:
Cells(vCAdrRow, vCAdrCol).Offset(1, 0).Activate
Vielen dank für deine Mühe....schönes Wochenende und vielleicht bis zum nächsten Mal.
Viele Grüße Roland
Antwort 5 von cmkatz
Hallo Roland,
Vielen Dank für deine Rückmeldung.
Warum Offset(1,0) zwei Zellen runter springt, kann ich mir auch nicht erklären. Aber wenn´s mit (0,0) auch funktioneirt (*wunder*), dann passt´s ja.
:-)
Gruß
cmkatz
Vielen Dank für deine Rückmeldung.
Warum Offset(1,0) zwei Zellen runter springt, kann ich mir auch nicht erklären. Aber wenn´s mit (0,0) auch funktioneirt (*wunder*), dann passt´s ja.
:-)
Gruß
cmkatz