Office: (Office 365) Daten in intelligenter Tabelle updaten

Helfe beim Thema Daten in intelligenter Tabelle updaten in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe ein kurze intelligente Tabelle mit Formeln und Werten. In Spalte A steht eine eindeutige ID. In Spalte B bis Z dann die Formeln bzw.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von vkt, 26. Januar 2023.

  1. VKT
    vkt Neuer User

    Daten in intelligenter Tabelle updaten


    Hallo,
    ich habe ein kurze intelligente Tabelle mit Formeln und Werten. In Spalte A steht eine eindeutige ID. In Spalte B bis Z dann die Formeln bzw. Werte.
    Die Werte aus der kurzen Tabelle soll nun die lange Tabelle updaten.
    Wenn die ID in beiden Tabellen vorhanden ist kopiere die Werte aus kurzer Tabelle in lange Tabelle. Wenn die ID in der langen Tabelle noch nicht vorhanden ist, kopieren die Daten an das End der langen Tabelle als neue Zeile.
    Kann mir hierzu jemand weiterhelfen. Dank und Gruß

    Daten in intelligenter Tabelle updaten upload_2023-1-26_10-58-31.png
     
  2. VKT
    vkt Neuer User
    Vielleicht hätte ich noch schreiben sollen ob mir jemand beim VBA Code helfen kann.

    For i = 1 bis ende Lange Tabelle
     
  3. neopa C hat Ahnung
    Hallo,

    muss es denn wirklich VBA sein. Mit der in Excel vorhandenen Power Query (PQ) Funktionalität wären es nur einmalig ein paar Mausklicks.
     
    neopa C, 26. Januar 2023
    #3
  4. VKT
    vkt Neuer User

    Daten in intelligenter Tabelle updaten

    Hallo neopa,

    von PowerQuery habe ich noch weniger Ahnung als von VBA.
    Ich habe die Sub schon fast fertig aber ein Problem habe ich immer noch.

    Sub UpdateData ()

    Dim TB1 As Worksheet, TB2 As Worksheet
    Dim LR2 As Long, i As Long, Zeile As Long
    Dim Z1 As Integer, SP As Integer

    Set TB1 = Sheets("LangeTabelle")
    Set TB2 = Sheets("KurzeTabelle")
    Z1 = 6 'Erste Zeile mit Daten / wegen Überschrift
    SP = 1 'Daten in A

    LR2 = TB2.Cells(TB2.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte

    For i = Z1 To LR2
    If WorksheetFunction.CountIf(TB1.Columns(SP), TB2.Cells(i, SP)) > 0 Then
    'Schon vorhanden in Zeile
    Zeile = WorksheetFunction.Match(TB2.Cells(i, SP), TB1.Columns(SP), 0)

    Else
    'Neu anlegen
    Zeile = TB1.Cells(TB1.Rows.Count, SP).End(xlUp).Row + 1
    End If

    'Inhalt der Zeile kopieren
    TB2.Rows(i).Copy
    TB1.Rows(Zeile).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    Next

    Die "neuen" Zeilen werden zwar unten an die Tabelle geschrieben - aber die intelligente Tabelle wird um die Anzahl der neuen Zeilen nicht erweitert! :-(

    Was fehlt oder ist falsch im Code??

    Als VBA Neuling habe ich das Gefühl es gibt für jedes Problem unterschiedlich Befehle je nachdem ob es ein neue "intelligente" Tabelle ist oder eine "normale" Tabelle - das macht es nicht gerade einfach!
     
  5. Exl121150 Erfahrener User
    Hallo,

    Code:
    Option Explicit
    
    Sub UpdateData()
    
       Dim TB1 As Worksheet, TB2 As Worksheet
       Dim lst1 As ListObject, lst2 As ListObject
       Dim row1 As ListRow, row2 As ListRow
       Dim valID As Variant, rngID1 As Range, Idx1 As Long, Sp1 As Long
      
       Set TB1 = Sheets("LangeTabelle"): Set lst1 = TB1.ListObjects("LangeStrukTabelle")  '<== Anpassen!
       Set TB2 = Sheets("KurzeTabelle"): Set lst2 = TB2.ListObjects("KurzeStrukTabelle")   '<== Anpassen!
      
       For Each row2 In lst2.ListRows
          valID = row2.Range.Cells(1)
          Set rngID1 = lst1.ListColumns("ID").DataBodyRange.Find(What:=valID, LookIn:=xlValues, LookAt:=xlWhole)
          If rngID1 Is Nothing Then
             'ID wurde nicht gefunden: Satz der Kurztabelle an Langtabelle anfügen
             Set row1 = lst1.ListRows.Add
          Else
             'ID wurde gefunden: Diesen Satz updaten
             Idx1 = rngID1.Row - lst1.HeaderRowRange.Row
             Set row1 = lst1.ListRows(Idx1)
          End If
          row2.Range.Copy Destination:=row1.Range
       Next row2
      
    End Sub
    

    Die Namen der Arbeitsblätter und der Tabellen sind noch anzupassen. Es wird angenommen, dass beide Tabellen gleich viele Spalten besitzen.
     
    Exl121150, 26. Januar 2023
    #5
  6. VKT
    vkt Neuer User
    Hallo Exl121150,

    vielen Dank. Funktioniert so weit bis auf das die Formeln aus der kurzen Tabelle kopiert werden und leider nicht die "Werte"

    Wie muss hierzu die folgende Zeile abgeändert werden:
    row2.Range.Copy Destination:=row1.Range

    Dank und Gruß
     
  7. VKT
    vkt Neuer User
    Hi nochmal,
    hab die Lösung in den Untiefen des Internets gefunden:

    row2.Range.Copy
    row1.Range.PasteSpecial Paste:=xlPasteValues

    Nochmals Dank
     
Thema:

Daten in intelligenter Tabelle updaten

Die Seite wird geladen...
  1. Daten in intelligenter Tabelle updaten - Similar Threads - Daten intelligenter Tabelle

  2. Daten aus UserForm in Tabellenblatt übertragen

    in Microsoft Excel Hilfe
    Daten aus UserForm in Tabellenblatt übertragen: Hallo zusammen, wieder eine Anfängerfrage. Ich habe eine Userform, deren Daten über einen CommandButton zum Teil in zwei Tabellenblätter übertragen werden. Wie kann ich es verhindern, dass dabei...
  3. Daten Sortieren

    in Microsoft Excel Hilfe
    Daten Sortieren: Guten Tag zusammen, folgendes Anliegen: Ich habe eine Tabelle mit vielen Einträgen von Retouren die an mich zurück geschickt wurden. Für jede Retoure gibt es eine Zeile und in einer Spalte wird...
  4. Access Tabelle mit Excel Daten updaten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel Daten updaten: Hallo zusammen, ich habe eine Excel Arbeitsmappe die ständig aktualisiert wird. Die Spaltennamen stimmen mit den Spaltennamen der Tabelle in Access überein. Jetzt möchte ich gerne einen VBA Code...
  5. Formularvorlagen: Einige Felder automatisch mit Daten befüllen

    in Microsoft Word Hilfe
    Formularvorlagen: Einige Felder automatisch mit Daten befüllen: Hallo, bei folgender Aufgabenstellung komme nicht weiter: Ich möchte unterschiedliche Formulare in Word erstellen. Es gibt in diesen Formularen ein paar Felder, die je nach Projekt immer mit...
  6. Daten aus einem Arbeitsblatt in ein anderes Arbeitsblatt ohne leere Zeilen kopieren

    in Microsoft Excel Hilfe
    Daten aus einem Arbeitsblatt in ein anderes Arbeitsblatt ohne leere Zeilen kopieren: Hallo miteinander, ich habe ein Profil hier im Forum eröffnet, da ich im Moment am verzweifeln bin mit einer Knacknuss im Excel 2016 :confused: Ich schildere euch folgende Ausgangslage: Ich habe...
  7. Daten im Diagramm gruppieren

    in Microsoft Excel Hilfe
    Daten im Diagramm gruppieren: Hallo. Ich habe eine Excel-Tabelle wo jeden Tag verschiedene Werte eingetragen werden (Stromverbrauch, PV-Erzeugung, Einspeisung usw.) Mit einem Datenschnitt, werden mir die Daten im Diagramm pro...
  8. Auslesen von Daten via PowerQuery

    in Microsoft Excel Hilfe
    Auslesen von Daten via PowerQuery: Hallo zusammen, ich habe Rohdaten bestehend aus Datum/Uhrzeit, ID, Parameter 1 und Parameter 2. Aus diesen Rohdaten möchte ich automatisiert (mittels PowerQuery) bestimmte Daten auslesen. Ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden