978 Aufrufe
Gefragt in Tabellenkalkulation von

Hallo Zusammen, könnte mir jemand ein Makro schreiben ich möchte zum Bsp.

Tabelle "test1" die Zeilen K8:K100 mit Tabelle "test2" Zeile G8:G100 verknüpfen so dass ich sie beidseitig bearbeiten kann? 
Damit ich in Tabelle "test1" Zeile K8:K100 und Tabelle "test2" Zeile G8:G100 eine Zahl eingeben kann und es mir immer die nicht bearbeitete Zelle aktualisiert? 

Habe ein ähnliches Beispiel gefunden.

Private Sub Worksheet_Change(ByVal Target As Range) 
Application.EnableEvents = False 
On Error GoTo ERRORHANDLER 
If Target.Cells.Address = "$A$1" Then 
Range("A5") = Range("A1") 
ElseIf Target.Cells.Address = "$A$5" Then 
Range("A1") = Range("A5") 
End If 
ERRORHANDLER: 
Application.EnableEvents = True 
End Sub

Besten Dank.

43 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi,

vom Prinzip her in Test1:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target.Cells(1), Range("K8:K100")) Is Nothing Then
        Application.EnableEvents = False
        Worksheets("Test2").Range(Target.Offset(0, -4).Address) = Target.Value
        Application.EnableEvents = True
    End If
End Sub

und in Test2:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target.Cells(1), Range("G8:G100")) Is Nothing Then
        Application.EnableEvents = False
        Worksheets("Test1").Range(Target.Offset(0, 4).Address) = Target.Value
        Application.EnableEvents = True
    End If
End Sub

Bis später, Karin

0 Punkte
Beantwortet von
Hallo Karin Danke für die schnelle Antwort,

Das klappt super, aber sobald ich die Tabelle "Test2" spalte D8:D100 sortiere, kommt alles wieder durcheinander. Gibt es da auch eine Lösung. Vielen Dank
0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi,

das Sortieren selbst löst kein Ereignis aus, sodass man dies über VBA abfangen könnte. Da kannst du nur folgendes machen: sortiere immer mit einem entsprechenden Makro, welches dann jeweils in beiden Tabellen sortiert.

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin Danke, dafür habe ich keine Kenntnisse trotzdem vielen Dank
0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi,

nach welcher Spalte soll denn in welchem Tabellenblatt sortiert werden - immer nach derselben und wenn ja nach welcher?

Bis später, Karin
0 Punkte
Beantwortet von

Hallo,

Sortiere Tabelle "test1" die Zeilen A8:P100 Spalte A8:A100 absteigend (nach Rechnungs Datum), Spalte G8:G100 aufsteigend und C8:C100 aufsteigend.

Sortiere Tabelle "test2" die Zeilen A8:K100 Spalte D8:D100 absteigend(Nach Fälligkeits Datum), Spalte E8:E100 aufsteigend und C8:C100 aufsteigend.

Danke und gutes gelingen.

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi,

"test2" wird nach einem anderen Kriterium sortiert als "test1" - dann kann es doch nach dem Sortieren keine zeilenweise Übereinstimmung der Daten der Spalte K (test1) mit Spalte G (test2) geben. In diesem Fall müsste man völlig anders vorgehen. Gibt es ein Kriterium (z.B. eine ID oder eine Rechnungsnummer usw.), welches für beide Tabellen identisch ist? Dann müsste man bei Eingabe immer die betreffende ID als Basis nehmen, diese in der anderen Tabelle suchen und erst dann den Wert übertragen.

Bis später, Karin
0 Punkte
Beantwortet von
Hallo,

ich habe jetzt in "test2" so viele Spalten eingefügt sodass immer mit Spalte K8 sortiert werden kann.

Herzlichen Dank.
0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi,

wenn ich deinen vorhergehenden Beitrag richtig verstanden habe, willst du die eine Tabelle nach Rechnungsdatum und die andere Tabelle nach Fälligkeitsdatum sortieren. Auch wenn sich beide in derselben Spalte befinden, kann das Sortierergebnis doch unterschiedlich ausfallen. Folglich stimmt die Reihenfolge der Zeilen in test1 dann nicht mehr mit der Reihenfolge der Zeilen in test2 überein. Wenn mit dem jetzigen Code nach der Sortierung z.B. in test2 in K10 etwas eingetragen wird, befinden sich die zugehörigen Daten in test1 dann nicht mehr in Zeile 10 sondern vielleicht in Zeile 25 und die Eingabe würde in die falsche Zeile geschrieben werden. Deshalb benötigt man ein Kriterium, welches in beiden Tabellen immer identisch ist, unabhängig von der Sortierung - nach diesem Kriterium kann dann gesucht und der Eintrag in die richtige Zeile geschrieben werden.

Bis später, Karin
0 Punkte
Beantwortet von

Hallo Karin, ich werde in Tabelle "test1" in Spalte B8:B100 eine nummerierung zB. 1, 2, 3, usw. einfügen dann würde es klappen???.

Danke und einen schönen Sonntag, ich bin dann mal weg.

...