Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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

VBA Diverse Spalten einer Zeile kopieren

VBA Diverse Spalten einer Zeile kopieren
gemanna
Hallo Excel Freunde,
suche schon seit tagen nach der Lösung für mein Problem, komme aber nicht weiter.
Ich habe mehrere Tabelen mit verschidenen Artikeln und Preisen. Ich habe die Artikeln in 4 verschidene Gruppen unterteilt (TT, AT, PP, IT). Für die 4 Gruppen müssen 4 neue Tabelenblätter angelegt werden, wo die Artikeln, Artikel Gruppe und Preis übertragen wird. (das klappt)
Mein Problem ist es, dass der Preis in den Ausgangstabellen in den diversen Spalten (tabelle 1 "G"; tabelle 2 "I") steht. Und Makro Kopiert alle Spalten aus dem angegebenen Bereich
ArrayData = .Range("A2", .Cells(n, 1)).Resize(, 13).Value2
Anbei ist die Test Datei die mehr erklärt als meine Worte.
https://www.herber.de/bbs/user/74435.xls
Vielen Dank für eure Tipps
Gruß Gemanna

  • 2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: VBA Diverse Spalten einer Zeile kopieren
    18.04.2011 06:49:59
    Marc
    Guten Morgen!
    Ich hab zwar nicht ein Array benutzt, aber es funktioniert und ist auch noch übersichtlicher (find ich)
    Gruß, Marc
    Option Explicit
    Sub TT()
    Dim n As Long, Preis_Spalte, x, i
    With Sheets("TT")
    .Range("2:100").ClearContents
    x = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    End With
    'Tabelle1 *****************************************
    With Tabelle1
    Preis_Spalte = .Range("1:1").Find("preis", lookat:=xlWhole).Column
    n = .Cells(.Rows.Count, 1).End(xlUp).Row
    If n > 1 Then
    For i = 2 To n
    If .Cells(i, 3) = "TT" Then
    With Sheets("TT")
    .Cells(x, 1) = Tabelle1.Cells(i, 1)
    .Cells(x, 2) = "TT"
    .Cells(x, 3) = Tabelle1.Cells(i, Preis_Spalte)
    x = x + 1
    End With
    End If
    Next i
    End If
    End With
    'Tabelle2 *****************************************
    With Tabelle2
    Preis_Spalte = .Range("1:1").Find("preis", lookat:=xlWhole).Column
    n = .Cells(.Rows.Count, 1).End(xlUp).Row
    If n > 1 Then
    For i = 2 To n
    If .Cells(i, 3) = "TT" Then
    With Sheets("TT")
    .Cells(x, 1) = Tabelle2.Cells(i, 1)
    .Cells(x, 2) = "TT"
    .Cells(x, 3) = Tabelle2.Cells(i, Preis_Spalte)
    x = x + 1
    End With
    End If
    Next i
    End If
    End With
    End Sub
    

    Anzeige
    AW: VBA Diverse Spalten einer Zeile kopieren
    18.04.2011 09:48:11
    gemanna
    Hallo Marc,
    echt Super und Variable dazu.
    Du hast recht, Deine Lösung ist viel übersichtlicher und verständlicher vor allem für solche Anfänger wie mich.
    Vielen, Vielen Dank!
    Gruß
    Gemanna

    332 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige