Microsoft Excel

Herbers Excel/VBA-Archiv

Automatische Aktualisierung von Daten

Betrifft: Automatische Aktualisierung von Daten von: WolfiL
Geschrieben am: 01.09.2004 16:07:34

Hallo!
Ich habe ein Fremdprogramm, von dem ich Daten in eine Excel-Tabelle stelle. Anschliessend sollen diesen Daten zur Aktualisierung auf einem anderen Tabellenblatt verwendet werden. Siehe Beispieldatei: Die Spalte F aus Tabelle 2 soll in die Spalte F von Tabelle 1 übertragen werden - allerdings nur bei Übereinstimmung der beiden Tabellen in der Spalte A. Dies würde ich mit einem Suchverweis noch hinbekommen - was mache ich aber, wenn die Tabelle 2 eine neue Zeile enthält, die zur Gänze in Tabelle 1 angefügt werden soll und beim nächsten mal auch "normal" aktualisiert - wie kann ich das machen?
Besten Dank für eure Unterstützung!!!
Wolfi
https://www.herber.de/bbs/user/10399.xls

  


Betrifft: AW: Automatische Aktualisierung von Daten von: Beni
Geschrieben am: 01.09.2004 21:07:27

Hallo Wolfi,
füge dieses Makro in ein Modul ein.
Gruss Beni



Sub Aktualisierung_von_Daten()
    For i = 1 To Cells(65536, 1).End(xlUp).Row
    Wert = Cells(i, 1)
    With Sheets("Tabelle2").Columns(1)
    Set c = .Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then Cells(i, 6) = c(1, 6)
    End With
    Next i
End Sub



  


Betrifft: AW: Automatische Aktualisierung von Daten von: Wolfi
Geschrieben am: 02.09.2004 06:47:44

Hallo Beni,
tut mir leid, hab dein kleines Script ausgeführt - er aktualisiert die Spalte F in der Tabelle bei Übereinstimmung richtig! Aber leider wird die Zeile 4+5 nicht komplett in die Tabelle 1 geschrieben - dies brauche ich zusätzlich - es sollen nach der Aktualisierung immer soviele Zeilen in Tabelle 1 stehen wie in Tabelle 2 und die Spalte F soll bei Übereinstimmung von Spalte A in beiden Tabellen identisch sein.
Vielen Dank für deine bisherigen Bemühungen - ich hoffe du kannst mir auch für den zweiten Schritt noch etwas anbieten!
Wolfi


  


Betrifft: AW: Automatische Aktualisierung von Daten von: Beni
Geschrieben am: 02.09.2004 09:10:13

Hallo Wolfi,
Du schreibst, es müssen immer soviele Zeilen in Tabelle 1 stehen wie in Tabelle 2,
dss ist nicht möglich, weil die 86 ist in Tabelle 2 nicht vorhanden.
Das Makro kopiert die ganze Zeile nach Tabelle 1.
Gruss Beni

Sub Aktualisierung_von_Daten()
    For i = 1 To Cells(65536, 1).End(xlUp).Row
    Wert = Cells(i, 1)
    With Sheets("Tabelle2").Columns(1)
    Set c = .Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then Range(c(1, 1), c(1, 6)).Copy Cells(i, 1)
    End With
    Next i
End Sub



  


Betrifft: AW: Automatische Aktualisierung von Daten von: WernerB.
Geschrieben am: 02.09.2004 12:06:56

Hallo Wolfi,

erfüllt dieses Makro Deine Wünsche?
Sub Wolfi()
Dim c As Range, SuBe As Range
Dim s As String
Dim laR1 As Long, laR2 As Long
    Application.ScreenUpdating = False
    With Sheets(2)
      laR2 = .Cells(Rows.Count, 1).End(xlUp).Row
      For Each c In .Range("A3:A" & laR2)
        s = c.Text
        With Sheets(1)
          laR1 = .Cells(Rows.Count, 1).End(xlUp).Row
          Set SuBe = .Range("A3:A" & laR1). _
            Find(s, lookat:=xlWhole)
          If Not SuBe Is Nothing Then
            SuBe.Offset(0, 5).Value = c.Offset(0, 5).Value
            Set SuBe = Nothing
          Else
            .Range("A" & laR1 + 1 & ":IV" & laR1 + 1).Value = _
              Sheets(2).Range("A" & c.Row & ":IV" & c.Row).Value
          End If
        End With
      Next c
    End With
    Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !


 

Beiträge aus den Excel-Beispielen zum Thema "Automatische Aktualisierung von Daten"