Office: VBA Code 2. Zeile statt 1. Zeile

Helfe beim Thema VBA Code 2. Zeile statt 1. Zeile in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, wie sollte dieser Code verändert werden, damit die Suche auf der 2. Zeile statt der 1. Zeile stattfindet? Option Explicit... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Officelösung, 28. März 2011.

  1. VBA Code 2. Zeile statt 1. Zeile


    Hallo Zusammen,

    wie sollte dieser Code verändert werden, damit die Suche auf der 2. Zeile statt der 1. Zeile stattfindet?

    Code:
    Option Explicit                     ' Variablendeklaration erforderlich
    
    
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    '**************************************************
    '* 09.02.08,11.03.08,31.03.08                     *
    '* erstellt von Karin, [url]http://beverly.excelhost.de*[/url]
    '* [email]beverly@excelhost.de[/email]                           *
    '**************************************************
        Dim RaBereich As Range
        Dim RaZelle As Range            ' Variable für die Zelle als Range
    '   Wirkung des Codes auf Zeile 1 der Tabelle im Filterbereich zulassen
        Set RaBereich = Intersect(Target, Range(Cells(1, ActiveSheet.AutoFilter.Range(1).Column), _
            Cells(1, ActiveSheet.AutoFilter.Range(1).Column + ActiveSheet.AutoFilter.Filters.Count - 1)))
    '   Eingabe erfolgte im festgelegten Bereich
        If Not RaBereich Is Nothing Then
    '       Bildschirmaktualisierung aus
            Application.ScreenUpdating = False
    '       Reaktion auf Eingabe abschalten
            Application.EnableEvents = False
    '       Schleife über alle Zellen der Zeile 1 der Tabelle
            For Each RaZelle In RaBereich
    '           Bezieht sich auf den Filterbereich
                With ActiveSheet.AutoFilter.Range
    '               Eingabe wurde gelöscht
                    If RaZelle = "" Then
    '                   Autofilter für das betreffende Fald zurücksetzen
                        .AutoFilter Field:=RaZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1).Column
    '                   in die betreffende Zelle eintragen
                        RaZelle = "Suchen"
                    Else
    '                   Suchkriterium ist eine Zahl
                        If IsNumeric(RaZelle) Then
    '                       Autofilter für das betreffende Feld setzen, Filterkriterium "entspricht"
                            .AutoFilter Field:=RaZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1).Column, _
                                Criteria1:="=" & RaZelle
    '                   Suchkriterium ist ein Datum
                        ElseIf IsDate(RaZelle) Then
    '                       Autofilter für das betreffende Feld setzen
    '                       es werden 2 Kriterien verwendet, weil mit Kriterium "=" das Datum nicht gefiltert wird
                            .AutoFilter Field:=RaZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1).Column, _
                                Criteria1:=">=" & RaZelle.Value2, Criteria2:="<=" & RaZelle.Value2
                        Else
    '                      Autofilter für das betreffende Feld setzen, Filterkriterium "Enthält"
                            .AutoFilter Field:=RaZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1).Column, _
                                Criteria1:="=*" & RaZelle & "*"
                        End If
                    End If
                End With
            Next RaZelle
    '       Reaktion auf Eingabe einschalten
            Application.EnableEvents = True
    '       Bildschirmaktualisierung ein
            Application.ScreenUpdating = True
        End If
    End Sub
    
     
    Officelösung, 28. März 2011
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    ändere dieses
    Code:
    Range(Cells(1, ActiveSheet.AutoFilter.Range(1).Column)
    
    in dieses
    Code:
    Range(Cells(2, ActiveSheet.AutoFilter.Range(1).Column)
    
    Bis später,
    Karin
     
    Beverly, 28. März 2011
    #2
  3. Hi Karin,
    freut mich von dir selbst die Antwort zu kriegen.
    ich finde deine homepage sehr informativ und nützlich.
    ich erstelle mir einige deiner diagramme nach und lerne vieles dabei.
    dankeschön und bis später :)
     
    Officelösung, 28. März 2011
    #3
  4. Rei78 Neuer User

    VBA Code 2. Zeile statt 1. Zeile

    Hallo Beverly

    Ich bin im Internet auch auf deine Lösung mit dem Autofilter gestossen und bin begeistert. Besten Dank für das.
    Nun, leider bin ich ein VBA neuling und kriege es nicht auf die Reihe, das die Autofilter-Kriterien nicht in der ganzen Zeile sind, sondern nur in Gewissen. Konkret in meinm Beispiel Zelle A2 und AM2. Wie könnte ich das definieren?

    Grüsse
    Rei78
     
  5. Beverly
    Beverly Erfahrener User
    Hi,

    der Code ist so ausgelegt, dass er selbst ermittelt, in welchen Spalten sich der Autofilter befindet - deshalb "autofilter_dynamische_anpassung". Die Zeile, in der sich der Autofilter befindet, spielt dabei keine Rolle. Was Einfluss auf die Funktionalität des Codes hat ist die festgelegte Zeile, in der die Eingabe des Suchbegriffs erfolgt - im Beispiel ist es Zeile 1, und zwar in dieser Codezeile:

    Code:
    '   Wirkung des Codes auf Zeile 1 der Tabelle im Filterbereich zulassen
        Set raBereich = Intersect(Target, Range(Cells([COLOR=#ff0000][B]1[/B][/COLOR], ActiveSheet.AutoFilter.Range(1).Column), _
            Cells([COLOR=#ff0000][B]1[/B][/COLOR], ActiveSheet.AutoFilter.Range(1).Column + ActiveSheet.AutoFilter.Filters.Count - 1)))
    
    

    Wenn bei dir die Eingabe des Suchbegriffs in einer anderen Zeile erfolgt, musst du nur die rot markierte 1 durch die betreffende Zeilennummer ersetzen.


    Bis später,
    Karin

    PS: übrigens stimmt der im Eröffnungsbeitrag gelistete Link zu meiner HP nicht mehr, da sie umgezogen ist, ebenso stimmt die Mailadresse nicht mehr. Den neuen Link zur HP findest du, wenn du im Beitrag auf meinen Namen klickst -> "Homepage besuchen".
     
    Beverly, 16. August 2017
    #5
Thema:

VBA Code 2. Zeile statt 1. Zeile

Die Seite wird geladen...
  1. VBA Code 2. Zeile statt 1. Zeile - Similar Threads - VBA Code Zeile

  2. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  3. VBA Code gesucht für Zeilen löschen anhand von Kriterien

    in Microsoft Excel Hilfe
    VBA Code gesucht für Zeilen löschen anhand von Kriterien: Guten Tag Ich habe eine Exceldatei mit mehreren Tabellen. Auf einer Tabelle habe ich eine ziemlich grosse Liste von Einträgen, die mit einem bestimmten Schlüssel versehen sind (pro Tag mehrere...
  4. VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen

    in Microsoft Excel Hilfe
    VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen: Hallo liebe Excel-Kommunity, nach ewigen Stunden des Suchens und Rumprobierens bin ich an dem Punkt angekommen an dem ich verzweifelt um eure Hilfe fragen muss. Da ich leider keinerlei...
  5. VBA Code - aktive Zeile markieren und kopieren

    in Microsoft Excel Hilfe
    VBA Code - aktive Zeile markieren und kopieren: Hallo zusammen Ich möchte die aktive Zeile mit den Spalten A:AA im Tabellenblatt 1 mit einem VBA Code automatisch ins Tabellenblatt 2, Zeile 1 kopieren. Habe schon einige Codes versucht, und...
  6. Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben

    in Microsoft Excel Hilfe
    Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben: Hallo und guten Tag, ich habe eine Excel-Tabelle, in der eine jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders eingefärbt werden soll. Hier ein Screenshot, wie es am Ende...
  7. Code funktioniert nicht in erster Zeile eines Kombinationsfeldes

    in Microsoft Access Hilfe
    Code funktioniert nicht in erster Zeile eines Kombinationsfeldes: Hallo Community, ich habe ein vermutlich nur ganz kleines Problem: Folgender Code bezieht sich auf ein Kombinationsfeld mit dem Namen "Art". Er führt dazu, dass je nach Auswahl, die über das...
  8. Spalten in Zeilen umwandeln wenn A1 gleich A2

    in Microsoft Excel Hilfe
    Spalten in Zeilen umwandeln wenn A1 gleich A2: Hallo zusammen Ich brauche dringend Hilfe! Ich muss eine 57765 Zeilen lange Liste formatieren. Es geht um Infos zu Produkten, die ca. so aussehen: <tbody> A B C 1 201100435 Beispieltext 1...
  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