Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

  • Anzeige

    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
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige