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. 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. 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. Zugriff auf andere Excel Datei ohne aktives Öffnen

    in Microsoft Excel Hilfe
    Zugriff auf andere Excel Datei ohne aktives Öffnen: Liebe Community, ich habe mir eine Formel geschrieben um Werte aus einer anderen Excel Datei in meine Haupt Excel Datei einzufügen. Leider muss die Datei aus der ich die Daten haben will immer...
  3. Excel VBA Laufzeitfehler 424 Objekt erforderlich

    in Microsoft Excel Hilfe
    Excel VBA Laufzeitfehler 424 Objekt erforderlich: Hallo zusammen, ich habe schon verschiedene Antworten zum Laufzeitfehler 424 gefunden, komme aber leider damit doch irgendwie nicht weiter (bin absoluter VBA-Neuling). Folgendes Makro habe ich...
  4. Sperren von Zellen basierend auf Werten in einer anderen Zelle

    in Microsoft Excel Hilfe
    Sperren von Zellen basierend auf Werten in einer anderen Zelle: Hallo zusammen, ich brauche ein wenig "VBA-Hilfe" von den Fachleuten. Folgenden Code habe ich mit meinem Halbwissen zusammen gebastelt. Private Sub Worksheet_Change(ByVal Target As Range) If...
  5. VBA - Fehlermeldung "Excel kann auf Datei nicht zugreifen"

    in Microsoft Excel Hilfe
    VBA - Fehlermeldung "Excel kann auf Datei nicht zugreifen": Hallo, ich habe folgenden Code bei dem ich leider immer eine Fehlermeldung erhalte. Der Fehler ist Folgender Laufzeitfehler '1004" Excel kann auf die Daten in ''Desktop" nicht zugreifen. Die...
  6. VBA Excel in mehrere teilen nach Kostenstelle

    in Microsoft Excel Hilfe
    VBA Excel in mehrere teilen nach Kostenstelle: Hallo liebe Office Community, ich bin mit VBA nicht so bewandert und habe folgenden "Auftrag"... Eine Excel Datei aus SAP soll aufgeteilt werden nach Kostenstelle. Sprich für jede Kostenstelle...
  7. Laufzeitfehler "424" Objekt erforderlich Selenium VBA

    in Microsoft Excel Hilfe
    Laufzeitfehler "424" Objekt erforderlich Selenium VBA: Hallo Zusammen, ich möchte mithilfe von Selenium in VBA eine Tabelle auf einer Webseite in eine Excel Tabelle kopieren. Allerdings bekomme ich den Fehler "Laufzeitfehler "424" Objekt...
  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