Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte in andere Tabelle einfügen

Werte in andere Tabelle einfügen
13.02.2023 09:37:39
LeRayZ
Guten Tag,
ich bekomme es leider nicht ganz hin mit dem Makro aufzeichnen, meinen Daten aus der einen in die anderen Tabelle zu kopieren und zwar habe ich folgendes vor:
Ich würde gerne, die Daten aus den Spalten D, G, H, I und J aus der ausgewählten Zelle/Zeile (also z.B. ich klicke auf Zelle A9 und möchte das Makro ausführen, bin dann ja dementsprechend in Zeile 9) in ein andere Datei Namens "Projects 2023.xlsm" in das Arbeitsblatt "Avalanche" in die nächste freie Zeile ab Zelle B6 in die Spalten J, I, H, D und L einfügen (Nur die Werte).

Beispiel:
01. Ich klicke in der Ursprungstabelle auf A9 und aktiviere das Makro.
02. Daraufhin sollen die Werte aus den Spalten D, G, H, I, J aus Zeile 9 kopiert werden.
03. Dann sucht sich das Makro die nächste freie Zeile in dem Arbeitsblatt "Avalanche" aus der "Datei Projects 2023", ab Zelle B6
04. Hier werden die Werte nun in die Spalten J, I, H, D, L eingefügt
Spalte D zu Spalte J
Spalte G zu Spalte I
Spalte H zu Spalte H
Spalte I zu Spalte D
Spalte J zu Spalte L

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte in andere Tabelle einfügen
13.02.2023 13:09:44
Yal
Hallo Ray,
mache zuerst eine sicherungskopie von der Zieldatei. Ungetestet.
Sub Kopieren()
Dim Z
Dim ZielZeile As Range
    Set ZielZeile = Workbooks("Projects 2023.xlsm").Worksheets("Avalanche").Cells(Rows.Count, "D").End(xlUp).Offset(1, 0).EntireRow
    With ActiveCell.EntireRow
        For Each Z In Split("D|J G|I H|H I|D J|L")
            ZielZeile.Cells(1, Split(Z(1))) = .Cells(1, Split(Z(0))).Value
        Next
    End With
End Sub
VG
Yal
AW: Werte in andere Tabelle einfügen
13.02.2023 13:15:49
LeRayZ
Hey, vielen Dank für die Antwort
Ich bekomme die Meldung: Typen unverträglich und die Zeile wird gelb markiert: ZielZeile.Cells(1, Split(Z(1))) = .Cells(1, Split(Z(0))).Value
Anzeige
AW: Werte in andere Tabelle einfügen
13.02.2023 13:34:15
Yal
Ach ich depp.
zu schnell gedacht.
Sub Kopieren()
Dim Z
Dim ZielZeile As Range
    Set ZielZeile = Workbooks("Projects 2023.xlsm").Worksheets("Avalanche").Cells(Rows.Count, "D").End(xlUp).Offset(1, 0).EntireRow
    With ActiveCell.EntireRow
        For Each Z In Split("D|J G|I H|H I|D J|L")
            ZielZeile.Range(Right(Z, 1) & "1") = .Range(Left(Z, 1) & "1").Value
        Next
    End With
End Sub
VG
Yal
AW: Werte in andere Tabelle einfügen
13.02.2023 13:41:22
LeRayZ
Irgendwie passiert gar nichts wenn ich das Ausführe :D
AW: Werte in andere Tabelle einfügen
13.02.2023 13:47:14
Yal
Sub Kopieren()
Dim Z
Dim ZielZeile As Range
    Set ZielZeile = Workbooks("Projects 2023.xlsm").Worksheets("Avalanche").Cells(Rows.Count, "D").End(xlUp).Offset(1, 0).EntireRow
    With ActiveCell.EntireRow
        For Each Z In Split("D|J G|I H|H I|D J|L")
            Debug.Print .Range(Left(Z, 1) & "1").Address, .Range(Left(Z, 1) & "1").Parent.Name
            Debug.Print ZielZeile.Range(Right(Z, 1) & "1").Address, ZielZeile..Range(Left(Z, 1) & "1").Parent.Name
            ZielZeile.Range(Right(Z, 1) & "1") = .Range(Left(Z, 1) & "1").Value
        Next
    End With
End Sub
Dann das Direktfenster anschauen.
VG
Yal
Anzeige
AW: Werte in andere Tabelle einfügen
13.02.2023 13:50:42
LeRayZ
Ich glaube das ist ein Punkt zu viel oder?
Debug.Print ZielZeile.Range(Right(Z, 1) & "1").Address, ZielZeile..Range(Left(Z, 1) & "1").Parent.Name
Ich habe auf einem Bildschirm die Zieldatei und auf einem zweiten Bildschirm die Ursprungsdatei + Entwicklertool offen...
Leider sehe ich nirgends eine Änderung.
AW: Werte in andere Tabelle einfügen
13.02.2023 16:14:56
Yal
Aber Du weisst, was das Direktfenster ist, oder?
VG
Yal
AW: Werte in andere Tabelle einfügen
13.02.2023 13:57:41
Rudi
Hallo,
andere Möglichkeit:
Sub kopieren()
  Dim wksZiel As Worksheet
  Dim lngIN As Long, lngOUT As Long
  Dim vntIN, vntOUT
  Dim i
  
  vntIN = Array(4, 6, 8, 9, 10)
  vntOUT = Array(10, 9, 8, 4, 12)
  lngIN = ActiveCell.Row
  
  Set wksZiel = Workbooks("Projects 2023.xlsm").Sheets("Avalanche")
  lngOUT = Application.Max(6, wksZiel.Cells(Rows.Count, 2).End(xlUp).Row + 1)
  
  Application.ScreenUpdating = False
  
  For i = LBound(vntIN) To UBound(vntIN)
    wksZiel.Cells(lngOUT, vntOUT(i)) = Cells(lngIN, vntIN(i))
  Next i
  
End Sub
Gruß
Rudi
Anzeige
AW: Werte in andere Tabelle einfügen
13.02.2023 14:00:16
LeRayZ
Ich frage mich ob ich etwas falsch mache...
Ich gehe auf die Zelle A9 (Ursprungstabelle) und führe das Makro aus, aber es passiert nichts...
AW: Werte in andere Tabelle einfügen
13.02.2023 14:07:48
Rudi
Hallo,
hast du mal auf das Zielblatt geschaut?
AW: Werte in andere Tabelle einfügen
13.02.2023 14:08:47
LeRayZ
Ja natürlich haha
Ich suche auch die "angeblich" kopierten/eingefügten Daten
AW: Werte in andere Tabelle einfügen
13.02.2023 14:15:01
Rudi
in meiner Testumgebung funktioniert alles.
Es wird aber immer überschrieben, da ja die erste freie Zeile in B ermittelt wird. Wenn B leer ist, ist das immer Zeile 6.
AW: Werte in andere Tabelle einfügen
15.02.2023 14:59:20
LeRayZ
Ich verstehe es nicht, habe jetzt einfach mal zwei neue Dateien gemacht mit den selben Titel etc und da funktioniert es...............
Kann jetzt aber schlecht alle Daten transferieren -.-
Eine Ahnung wie ich da auf Fehlersuche gehen könnte?
Anzeige
AW: Werte in andere Tabelle einfügen
15.02.2023 20:37:56
Piet
Hallo
es ist eine alte Programmiertechnik, ohne Array, aber wenn sie funktioniert ...
mfg Piet
  • Sub kopieren()
    Dim wksZiel As Worksheet
    Dim lngIN As Long, lngOUT As Long
    'vntIN = Array(4, 6, 8, 9, 10)
    'vntOUT = Array(10, 9, 8, 4, 12)
    Application.ScreenUpdating = False
    With ActiveSheet
         Set wksZiel = Workbooks("Projects 2023.xlsm").Sheets("Avalanche")
         lngOUT = wksZiel.Cells(Rows.Count, 2).End(xlUp).Row + 1
         'Daten in Ziel Tabelle einfügen
         wksZiel.Cells(lngOUT, 10) = .Cells(lngIN, 4)
         wksZiel.Cells(lngOUT, 9) = .Cells(lngIN, 6)
         wksZiel.Cells(lngOUT, 8) = .Cells(lngIN, 8)
         wksZiel.Cells(lngOUT, 4) = .Cells(lngIN, 9)
         wksZiel.Cells(lngOUT, 12) = .Cells(lngIN, 10)
    End With
    End Sub

  • Anzeige

    302 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige