Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Daten per Makro aus einer Tabelle in eine andere übernehmen
#11
Hilft mir leider auch nicht weiter  Huh
Antworten Top
#12
Hallöchen,

Zitat:Wenn ich im Zielblatt also nicht Spalten A und B ändern möchte, sondern C und D, muss ich statt "1" und "2" eine "3" und "4" respektive einsetzen?

korrekt.

Zitat:was hat das "i" zu bedeuten?

Cells(i, 3) => Zelle(Zeile i, Spalte 3)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
(19.10.2023, 08:55)Stryke schrieb: Hilft mir leider auch nicht weiter  Huh

Wieso nicht? Weil dein Excel noch kein FILTER() kennt? Dann such mal nach dem CSE-Addin von Flotter Feger. Das rüstetet FILTER_() und noch vieles mehr auch bei alten Excel-Versionen nach.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#14
... oder z.B. das ohne extra AddIn. Ich könnte mir aber vorstellen, die Frage zielt auf die Codevorschläge.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
Hallo

da gab es zwar schon Lösungen, vielleicht kommst du ja mit meinem "Simpel Code" besser zurecht?   Würde mich freuen.
Ich denke er ist so einfach, das du die meisten Befehle verstehen kannst. Statt kopieren kann man Werte als Value einfügen.
Der Code kann aus jeder Tabelle gestartet werden, auch direkt mit Taste F5 im Makro. Oder mit dem Makro-Dialog Fenster.
Da muss auch nichts mehr angepasst werden, es sei denn ich hätte Spalten vertauscht.

Hinweis:  wenn du Leerzeilen vermeiden willst kopiert man über Cells(Zeile, Spalte) und setzt Zeile bei jedem Kopieren um 1 weiter.

mfg Gast 123


Code:
Sub Makro()
Dim AC As Range, Zeile As Integer
Dim DB As Worksheet, n As Integer
Set DB = Worksheets("Datenblatt")

With Worksheets("NVZ")   'Zieltabelle
     'Zieltabelle Bereich löschen
     .Range("C3:C46").ClearContents
     Zeile = 3   '1.Zeilen in NVZ Tabelle
     
     'alle Werte in Spalte Y auf Null prüfen
     For Each AC In Worksheets("Datenblatt").Range("Y3:Y56")
         If AC.Value <> 0 Then
            'Wert aus DB Spalte G nach NVZ Spalte C kopieren
            .Cells(Zeile, 3) = DB.Cells(AC.Row, "G")
             Zeile = Zeile + 1
         End If
     Next AC
MsgBox Zeile - 3 & "  Daten kopiert"
End With
End Sub
Antworten Top
#16
@Gast123:

Danke! Das ist exakt das, was ich gebraucht habe! Es macht alles so, wie ich es haben wollte  18 !
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste