Supportnet Computer
Planet of Tech

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

Antwort 2 von cmkatz

Hallo nochmal,

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: