Office: (Office 2016) VBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen

Helfe beim Thema VBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe mir bereits ein Makro gebaut mit dem ich nach bestimmten Daten in Tabelle 1 filtere/suche. Sind diese vorhanden, werden die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CharlotteK, 18. März 2021.

  1. CharlotteK hat Ahnung

    VBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen


    Hallo zusammen,

    ich habe mir bereits ein Makro gebaut mit dem ich nach bestimmten Daten in Tabelle 1 filtere/suche. Sind diese vorhanden, werden die kompletten Zeilen in Tabelle 2 kopiert.
    Das klappt soweit schon echt super. Einziges Manko, es dauert echt lang. So ca. 2-3 Minuten.
    Vielleicht habt ihr einen Verbesserungsvorschlag für mich?

    Code:
    Sub Kunden_A_&_B()
    
    Dim i As Long, j As Long
    
    Dim lz As Integer
    
     j = 2
    
    Sheets("Gesamtliste Kunden").Select
    
    For i = 2 To Sheets("Gesamtliste Kunden").Cells(Rows.Count, "M").End(xlUp).Row
    
       If Sheets("Gesamtliste Kunden").Cells(i, "M") = "Kunde A" Then
    
         Range(Cells(i, "A"), Cells(i, "Q")).Copy _
    
           Destination:=Sheets("Kunden A & B").Range("A" & j)
    
         j = j + 1
    
       End If
    
    Next
    
    For i = 2 To Sheets("Gesamtliste Kunden").Cells(Rows.Count, "M").End(xlUp).Row
    
       If Sheets("Gesamtliste Kunden").Cells(i, "M") = "Kunde B" Then
    
         Range(Cells(i, "A"), Cells(i, "Q")).Copy _
    
           Destination:=Sheets("Kunden A & B").Range("A" & j)
    
         j = j + 1
    
       End If
    
    Next
    
    End Sub
    
    Vielen Dank schon mal
    Liebe Grüße
    Charlotte
     
    CharlotteK, 18. März 2021
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Charlotte,

    wenn du keine sortierte Übertragung (also erst alle "Kunden A" und danach alle "Kunden B" benötigst) benötigst, kannst du mithilfe einer Select-Case-Anweisung gleichzeitig beide Bedingungen abfangen, also sowohl "Kunde A" als auch "Kunde B":
    Code:
    Dim i As Long, j As Long
    j = 2
    With Sheets("Gesamtliste Kunden")
        For i = 2 To .Cells(Rows.Count, "M").End(xlUp).Row
           Select Case .Cells(i, 13)
             Case "Kunde A", "Kunde B"
                .Range(.Cells(i, 1), .Cells(i, 17)).Copy Destination:=Sheets("Kunden A & B").Cells(j, 1)
                j = j + 1
           End Select
        Next
    End With
    
    Noch zwei allgemeine Hinweise:
    - nach Möglichkeit sollte man bei Zelladressen die Spaltenbezeichnung nicht als Buchstaben sondern als Zahl schreiben, weil Excel intern die Adressen bereits als Cells(Zeilennummer, Spaltennummer) speichert. Wenn man nun anstelle der Spaltennummer den Spaltenbuchstaben verwendet - was natürlich kein Fehler ist!! - muss Excel jedoch intern erst den Spaltenbuchstaben in die Spaltennummer umrechnen - das kostet aber Zeit.
    - man kann Code vereinfachen, indem man mit With-Anweisungen auf Objekte (im o.g. Code das Arbeitblatt) referenziert, die man dann im weiteren Verlauf des Codes nicht mehr benennen muss. Zu beachten ist dabei jedoch, dass allen Objekten innerhalb des referenzierten Objektes, wie hier die Zelladressen, ein Punkt (.) vorangestellt werden muss - das ist für Excel das Signal, dass sich dieses Objekt innerhalb des mit With festgelegten Objektes befindet.
    Außerdem kann man mit einer Wit-Anweisung auf den Select-Befehl verzichten, der ebenfalls den Code verlangsamt.



    VBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen GrußformelVBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen Beverly's Excel - Inn
     
    Beverly, 18. März 2021
    #2
    1 Person gefällt das.
  3. CharlotteK hat Ahnung
    Vielen lieben Dank, Beverly.
    Das hilft mir schon sehr. Es geht tatsächlich fixer.
    Auch für die beiden Hinweise. Die werde ich sehr gerne für die Zukunft berücksichtigen. :-)
     
    CharlotteK, 18. März 2021
    #3
Thema:

VBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen

Die Seite wird geladen...
  1. VBA Daten in Tabellenblatt 1 Filtern und in Tabellenblatt 2 übertragen - Similar Threads - VBA Daten Tabellenblatt

  2. VBA Makro Daten kopieren

    in Microsoft Excel Hilfe
    VBA Makro Daten kopieren: Hi zusammen, ich bräuchte eure Hilfe denn aktuell bin ich am verzweifeln: Ich brauche ein Makro für das deutsche Excel. Es gibt 2 verschiedene Arbeitsmappen mit jeweils einem aktiven...
  3. VBA Diagramm-Daten aktualisieren

    in Microsoft Excel Hilfe
    VBA Diagramm-Daten aktualisieren: Hallo, ich habe folgendes Problem. Ich habe eine Tabelle, die sich jeden Tag um eine Zeile automatisch erweitern soll mit dem aktuellen Datum und aktuellen Werten. Das funktioniert auch soweit....
  4. [Excel, VBA] Daten aus Excel-Bereich in Word Tabelle einfügen

    in Microsoft Excel Hilfe
    [Excel, VBA] Daten aus Excel-Bereich in Word Tabelle einfügen: Hallo zusammen, ich stehe im Augenblick vor folgendem Problem. Habe in einem Excelsheet einen Bereich (5 Spalten, 2 Zeilen) mit Daten, dessen Inhalt ich gerne in ein Word-Dokument in eine...
  5. [VBA] Daten auf Grund von Variable auf anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    [VBA] Daten auf Grund von Variable auf anderes Tabellenblatt kopieren: Hallo zusammen, vorab großes Lob an das Forum, ich konnte schon einige Dinge sinnvoll für mich nutzen, meine VBA Skills beschränken sich sonst eher auf das Anpassen von aufgezeichneten Makros...
  6. Excel VBA / Daten kopieren wenn Liste auf x steht.

    in Microsoft Excel Hilfe
    Excel VBA / Daten kopieren wenn Liste auf x steht.: Hallo zusammen, ich habe ein PowerQuery, welches ich ca. 2 mal im Monat aktualisiere. Aus dem Query möchte ich gerne die Daten per Makro in ein anderes Arbeitsblatt kopieren. Dabei möchte ich...
  7. CSV-Daten per Makro einbinden - manuelle Wahl der Quelldatei

    in Microsoft Excel Hilfe
    CSV-Daten per Makro einbinden - manuelle Wahl der Quelldatei: Liebe Excel-Gemeinde, ich möchte CSV-Daten in eine bereits geöffnete Arbeitsmappe laden. Sie sollen nach jedem Laden eines Datensatzes auf einem anderen Arbeitsblatt dargestellt werden, das den...
  8. Verkettung von Daten aus Textbox mit Daten aus Tabellenblatt und danach in andere Box

    in Microsoft Excel Hilfe
    Verkettung von Daten aus Textbox mit Daten aus Tabellenblatt und danach in andere Box: Hallo, ich habe folgendes Problem: Ich bastel gerade an einer "Datenbank", wo mehrere Daten wie z.b. Artikelnummer, Preis, Gewicht und co vorhanden sind. Ich habe ebenfalls eine Userform mit...
  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