online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Berpre vom 09.09.2022, 14:56 Options

Zelle mit Formel mit VBA in ein anderes Tabellenblatt kopieren

Hallo M.O.

ich habe die Frage wiederholt.

Eine Excel Quell Tabelle 1 wird mittels VBA Code Markierung ( „X“ in Spalte „ E „ ) in eine Ziel Excel Tabelle 2 ohne Lücken untereinander kopiert.
In den Zellen von Tabelle 1 = ( Spalte „ D „ ) ist eine Summenberechnung mittels Formel hinterlegt. Format dieser Spalte „ D „ ist Währung.
Diese kopierten Zellen werden in der Ziel Excel Tabelle 2 automatisch angelegt, wobei in der Spalte „ D „ der Wert in den einzelnen Zellen falsch wiedergegeben wird. (falsche Formel und mit den falschen Zellwerten ).
Die Spalte „ A „ der Quell Excel Tabelle 1 ist eine eindeutige Zuordnung und wiederholt sich nicht.

Meine Frage:

Wie ist dies zu realisieren, dass die Zellinhalte in der Spalte „ D „ in der Ziel Excel Tabelle 2 richtig wiedergegeben werden?

Gruß Berpre




Quellcode in der Quell Excel Tabelle 1:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'im Klassenmodul des Blattes "Daten"
Dim rngVeränderung As Range
Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
Dim rngSuche As Range


Set wsQuelle = Worksheets("Daten")
Set wsZiel = Worksheets("Beschläge")

If Not Intersect(Target, Columns("E")) Is Nothing Then
For Each rngVeränderung In Intersect(Target, Columns("E"))
If UCase(rngVeränderung) = "X" Then 'Wenn ein "X" gesetzt wurde
'Prüfen, ob Wert in Zieltabelle vorhanden
With wsZiel
Set rngSuche = .Columns("A").Find(wsQuelle.Cells(rngVeränderung.Row, 1), lookat:=xlWhole)
End With
If rngSuche Is Nothing Then 'Wenn Wert aus Spalte A nicht gefunden wurde...
With wsQuelle
.Cells(rngVeränderung.Row, "A").Resize(, 4).Copy _
Destination:=wsZiel.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End With
Else 'Datensatz existiert bereits
MsgBox "Der Datensatz " & wsQuelle.Cells(rngVeränderung.Row, 1) & " existiert bereits!"
End If
ElseIf IsEmpty(rngVeränderung) Then 'Wenn das "X" gelöscht wurde bzw. die Zelle leer ist
'Prüfen, ob Wert in Zieltabelle vorhanden ist
With wsZiel
Set rngSuche = .Columns("A").Find(wsQuelle.Cells(rngVeränderung.Row, 1), lookat:=xlWhole)
End With
If Not rngSuche Is Nothing Then 'Wert gefunden
rngSuche.EntireRow.Delete
End If
End If
Next rngVeränderung
End If
Set rngSuche = Nothing
Set wsZiel = Nothing
Set wsQuelle = Nothing
End Sub



  • *Threadedit* 28.08.2010, 20:47:25
    Admininfo: Führe Threads bitte nicht fort, indem du weitere eröffnest, und vermeide Mehrfachanfragen! Die Datenbank und User werden es dir danken. Siehe FAQ 2, #3.


  • Antwort schreiben

    Ähnliche Themen

    vba kopieren ohne Formel
    VBALehrling  14.10.2009 - 358 Hits - 4 Antworten

    vba: zelle oberhalb der aktiven zelle suchen
    EKG  21.11.2009 - 219 Hits - 3 Antworten

    Fehler VBA Code -->In bestimmte Zelle kopieren
    DOMMEl  03.12.2009 - 203 Hits - 1 Antwort

    VBA- letztes Tabellenblatt kopieren
    finger59  21.04.2010 - 309 Hits - 5 Antworten

    Zelle mit Formel mit VBA in ein anderes Tabellenblatt kopieren
    Berpre  17.09.2010 - 397 Hits - 21 Antworten

    Hinweis

    Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

    Neue Einträge

    Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026