Freigeben über

Excel VBA Tabellensynchronisation

Anonym
2022-10-30T12:39:57+00:00

Hallo zusammen,

ich habe folgende Frage. (am Bsp. Tabellenblatt "Anwesenheitsliste")

Ich muß einen Code anpassen, der nicht von mir ist, aufgrund einer nachträglichen Spaltenerweiterung.

(Spalte "akt_Status")

Die Daten sollen aus der "Schülerliste" in 3 andere Tabellenblätter (hier Bsp. Tabellenblatt "Anwesenheitsliste")

übertragen werden. Der Code funktionierte vor der Spaltenerweiterung.

Meine Frage ist, warum hier für die Spalten "Klasse" und "akt_Schuljahr" auf eine "EingabeListe"? zurückgegriffen wird und nicht auch auf die "Schülerliste"?

Kann mir bitte jemand weiterhelfen?

Danke und viele Grüße

Andreas

Sub Synchronisation()

Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet, sh4 As Worksheet

Dim LRow As Long

Application.ScreenUpdating = False

Set sh1 = Sheets("Schuelerliste")

Set sh2 = Sheets("Anwesenheitsliste")

Set sh3 = Sheets("NotenGewichtung")

Set sh4 = Sheets("NotenTabelleEingabe")

sh2.Activate

LRow = Cells(Rows.Count, 1).End(xlUp).Row

Range(Cells(15, 1), Cells(LRow, 6)).Select

Selection.ClearContents

'Lfd. Nummer

Range(Cells(15, 1), Cells(LRow, 1)).Formula = "=IF(Schuelerliste!C5="""","""",Schuelerliste!C5)"

'Name

Range(Cells(15, 2), Cells(LRow, 2)).Formula = "=IF(ISERROR(VLOOKUP($A15,Schuelerliste!$C$4:$K$983,COLUMN(D1),0)),"""",VLOOKUP($A15,Schuelerliste!$C$4:$K$983,COLUMN(D1),0))"

'Schuljahr_Start

Range(Cells(15, 3), Cells(LRow, 3)).Formula = "=IF(ISERROR(VLOOKUP($A15,Schuelerliste!$C$4:$K$983,COLUMN(E1),0)),"""",VLOOKUP($A15,Schuelerliste!$C$4:$K$983,COLUMN(E1),0))"

'akt_Status

Range(Cells(15, 4), Cells(LRow, 4)).Formula = "=IF(ISERROR(VLOOKUP($A15,Schuelerliste!$C$4:$K$983,COLUMN(G1),0)),"""",VLOOKUP($A15,Schuelerliste!$C$4:$K$983,COLUMN(G1),0))"

'Klasse

Range(Cells(15, 5), Cells(LRow, 5)).Formula = "=IF(ISERROR(VLOOKUP($A15,EingabeListe,10,FALSE)),"""",VLOOKUP($A15,EingabeListe,10,FALSE))"

'akt_schuljahr

Range(Cells(15, 6), Cells(LRow, 6)).Formula = "=IF(ISERROR(VLOOKUP($A15,EingabeListe,11,FALSE)),"""",VLOOKUP($A15,EingabeListe,11,FALSE))"

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

2 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2022-10-30T13:24:17+00:00

    Hallo Claus,

    Dankeschön für die Rückmeldung.

    Viele Grüße

    Andreas

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2022-10-30T13:05:38+00:00

    Hallo Andreas,

    einmal wird auf das Blatt und den entsprechenden Range verwiesen, einmal wird dieser Range mit dem Tabellennamen angesprochen.

    Du kannst das vereinheitlichen, indem du entweder Blattname und Range oder Tabellenname in allen Formeln verwendest.

    Wenn man schon Tabellennamen hat, sollte man sie auch in den Formeln verwenden. Dann braucht man auch nicht den Bereich nachträglich anzupassen.

    Claus

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare