Office: (Office 2016) Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren

Helfe beim Thema Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi zusammen, Ihr konntet mir bisher immer so super helfen, da setze ich schwer auf euren erneuten support :-) Folgende Situation: Ich habe eine... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CharlotteK, 30. August 2022.

  1. CharlotteK hat Ahnung

    Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren


    Hi zusammen,

    Ihr konntet mir bisher immer so super helfen, da setze ich schwer auf euren erneuten support :-)

    Folgende Situation:
    Ich habe eine Arbeitsmappe(Beispiel beigefügt) mit mehreren Tabellenblättern.
    Die Tabellenblätter (ProduktA,ProduktB,ProduktC) sind alle exakt gleich aufgebaut.
    Die Anzahl der Zeilen variiert allerdings.
    Jetzt möchte ich nur bestimmte Infos in einem neuen Tabellenblatt (Abgänge) zusammenfassen.
    Bisher habe ich mit unten stehendem Code gearbeitet:
    Also immer für jedes einzelne Tabellenblatt nen Haufen code geschrieben.
    Abgesehen davon, dass es hier drin auch einen kleinen Fehler gibt, den ich in der Originaldatei schon behoben habe. Gibt es in der Originaldatei allerdings auch noch wesentlich mehr Tabellenblätter die zusammengefasst werden müssten.

    Jetzt meine Frage: Das geht doch sicher schlanker.
    So nach dem Motto "Suche mir die Spaltenüberschrift und werfe mir alle dazugehörigen Zeilen aus den Tabellenblättern in das Tabellenblatt "Abgänge" .

    Danke schon mal für eure Hilfe und Tipps.

    VG
    Charlotte

    Code:
    Option Explicit
    
    Sub Abgaengeermitteln()
    
    Application.ScreenUpdating = False
    
    Dim i As Long
    Dim j As Long
    j = 2
    Dim WbAct       As Workbook 'Diese Arbeitsmappe
    Set WbAct = ThisWorkbook
    
    'ProduktA
    With WbAct.Sheets("ProduktA") 'Artikelnummer Übertragen
         For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
           .Range(.Cells(i, 1), .Cells(i, 1)).Copy Destination:=Sheets("Abgänge").Cells(j, 1)
               j = j + 1
        Next i
        j = 2
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row 'Anzahl übertragen
           .Range(.Cells(i, 2), .Cells(i, 2)).Copy Destination:=Sheets("Abgänge").Cells(j, 2)
           j = j + 1
         
        Next i
        j = 2
     
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row 'Käufer übertragen
           .Range(.Cells(i, 5), .Cells(i, 5)).Copy Destination:=Sheets("Abgänge").Cells(j, 3)
              j = j + 1
        Next i
       
        End With
       
     'ProduktB
       With WbAct.Sheets("ProduktB") 'Artikelnummer Übertragen
         For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
           .Range(.Cells(i, 1), .Cells(i, 1)).Copy Destination:=Sheets("Abgänge").Cells(j, 1)
               j = j + 1
        Next i
        j = 2
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row 'Anzahl übertragen
           .Range(.Cells(i, 2), .Cells(i, 2)).Copy Destination:=Sheets("Abgänge").Cells(j, 2)
           j = j + 1
         
        Next i
        j = 2
     
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row 'Käufer übertragen
           .Range(.Cells(i, 5), .Cells(i, 5)).Copy Destination:=Sheets("Abgänge").Cells(j, 3)
              j = j + 1
        Next i
       
        End With
    
    'ProduktC
       With WbAct.Sheets("ProduktC") 'Artikelnummer Übertragen
         For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
           .Range(.Cells(i, 1), .Cells(i, 1)).Copy Destination:=Sheets("Abgänge").Cells(j, 1)
               j = j + 1
        Next i
        j = 2
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row 'Anzahl übertragen
           .Range(.Cells(i, 2), .Cells(i, 2)).Copy Destination:=Sheets("Abgänge").Cells(j, 2)
           j = j + 1
         
        Next i
        j = 2
     
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row 'Käufer übertragen
           .Range(.Cells(i, 5), .Cells(i, 5)).Copy Destination:=Sheets("Abgänge").Cells(j, 3)
              j = j + 1
        Next i
       
        End With
    
    End Sub
     
    CharlotteK, 30. August 2022
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Muster*, Test*, Mappe*, Beispiel*, Fehler*, Kalender*, UserForm* , Forum*, Excel* usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
    Es sollte ein aussagekräftiger Name sein.

    Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten ändern. Schaue Datei
    http://hajo-excel.de/gepackt/fremd/Datei_verschluesseln.zip

    Das ist nur meine Meinung zu dem Thema.

    Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren GrußformelExcel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren Homepage
     
    Hajo_Zi, 30. August 2022
    #2
  3. Exl121150 Erfahrener User
    Hallo,

    ich nehme an, folgende SUB sollte deinen Wünschen genügen:
    Code:
    Sub Abgaengeermitteln_Neu()
    
      Dim WbAct As Workbook 'Diese Arbeitsmappe
      Dim WsI As Worksheet
      Dim WsJ As Worksheet
      Dim iZl As Long
      Dim jZl As Long
    
      Application.ScreenUpdating = False
     
      Set WbAct = ThisWorkbook
      Set WsJ = WbAct.Worksheets("Abgänge")  'Ziel-Sheet
    
      jZl = 2
      For Each WsI In WbAct.Worksheets       'Quell-Sheets
        With WsI
          If .Name <> WsJ.Name Then
        
             For iZl = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
                .Cells(iZl, 1).Copy Destination:=WsJ.Cells(jZl, 1) 'Artikelnummer
                .Cells(iZl, 2).Copy Destination:=WsJ.Cells(jZl, 2) 'Anzahl
                .Cells(iZl, 5).Copy Destination:=WsJ.Cells(jZl, 3) 'Käufer
                jZl = jZl + 1
             Next iZl
            
          End If
        End With
      
      Next WsI
     
      Application.ScreenUpdating = True
    
    End Sub
    
     
    Exl121150, 31. August 2022
    #3
    1 Person gefällt das.
  4. CharlotteK hat Ahnung

    Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren

    Mega! Vielen lieben Dank. Manchmal steht man ja doch ein wenig auf dem Schlauch...



     
    CharlotteK, 1. September 2022
    #4
Thema:

Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren

Die Seite wird geladen...
  1. Excel VBA - Zellinhalte anhand von Spaltenüberschriften finden und kopieren - Similar Threads - Excel VBA Zellinhalte

  2. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  3. Excel VBA Spalten mit Ordnerinhalt vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Spalten mit Ordnerinhalt vergleichen: Hallo, Bin ehr Excel VBA Neuling, Würde aber gerne in einer bestehender Tabelle die Auflistung der Ordner mit dem eigentlichen Stand in den besagten Ordner kontrollieren. Also in der Spalte Q10...
  4. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  5. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  6. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  7. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  8. In Excel per VBA Range durchsuchen, Zellinhalt in anderes Tabellenblatt übertragen

    in Microsoft Excel Hilfe
    In Excel per VBA Range durchsuchen, Zellinhalt in anderes Tabellenblatt übertragen: Moin alle zusammen, habe ein großes Problem. Ich muss zurzeit eine sehr große Datenbank mit VBA aufbauen, allerdings habe ich bisher noch nicht allzu viel Kenntnis davon. Vielleicht kann mir hier...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden