Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA nicht korrekt

Forumthread: VBA nicht korrekt

VBA nicht korrekt
20.02.2018 16:00:25
Pascal
Hallo Miteinander
Findet ihr hier einen Fehler?
Objekt unterstützt diese Eigenschaft oder Methode nicht (Fehler 438)

  • Sub Filter()
    '
    Sheets("LBs").Select
    ActiveSheet.AutoFilterMode = False
    If Not ActiveSheet.AutoFilterMode = True Then
    letzteSpalte = Sheets(1).Cells(1, 256).End(xlToLeft).Column
    letzteZeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
    ActiveSheet.Range("A1" & letzteSpalte).Select_
    Selection.AutoFilter Field:=1, _
    Criteria1:="", Operator:=xlAnd_
    Selection.AutoFilter Field:=5, _
    Criteria1:="=1*", Operator:=xlAnd
    End If
    Range("A2:K" & letzteZeile).Select
    Selection.Copy
    Sheets("Lieferdatum").Activate
    Range("J2").Select
    ActiveSheet.Paste
    End Sub

  • Vielen Dank
    LG Pascal
    Anzeige

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA nicht korrekt
    20.02.2018 16:21:21
    UweD
    Hallo
    1) ActiveSheet.Range("A1" & letzteSpalte)
    gibt keinen vernünftigen Bereich an. m.M. nach fehlt hier auch die letzetZeile
    2) Ausserdem: du schaltest den Filter erst aus und prüfst dann nochmal, ob er NICHT AN ist. Das kannst du dann auch direkt lassen.
    3) auf select und activate kann in 99% verzichtet werden..
    Wenn ich alles richtig verstanden habe, müsste das reichen
    Sub Filter()
        Dim letzteSpalte As Integer, letzteZeile As Double
        With Sheets("LBs")
        
            .AutoFilterMode = False
        
            letzteSpalte = .Cells(1, 256).End(xlToLeft).Column
            letzteZeile = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
            
            
            With .Range("A1").Resize(letzteZeile, letzteSpalte)
                .AutoFilter Field:=1, Criteria1:="<>", Operator:=xlAnd
                
                .AutoFilter Field:=5, Criteria1:="=1*", Operator:=xlAnd
            End With
            
            
            .Range("A2:K" & letzteZeile).Copy _
                Destination:=Sheets("Lieferdatum").Range("J2")
        End With
    
    End Sub
    

    LG UweD
    Anzeige
    AW: VBA nicht korrekt
    20.02.2018 16:32:42
    yummi
    Hallo Pascal,
    Dein Range ist, wen nz.B. die letzte Spalte 10 ist: A110 und nicht A1:J1
    Außerdem brauchst Du die ganzen select nicht.
    so gehts:
    
    Sub Filter()
    Dim letzteSpalte As Integer
    Dim letzteZeile As Long
    Dim wks As Worksheet
    Set wks = ThisWorkbook.Sheets("LBs")
    wks.AutoFilterMode = False
    If Not wks.AutoFilterMode = True Then
    letzteSpalte = Sheets(1).Cells(1, 256).End(xlToLeft).Column
    letzteZeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With wks.Range("A1:" & WandleZahlInBuchstaben(letzteSpalte) & "1")
    .AutoFilter Field:=1, Criteria1:="", Operator:=xlAnd
    .AutoFilter Field:=5, Criteria1:="=1*", Operator:=xlAnd
    End With
    End If
    Range("A2:K" & letzteZeile).Select
    Selection.Copy
    Sheets("Lieferdatum").Activate
    Range("J2").Select
    ActiveSheet.Paste
    End Sub
    Function WandleZahlInBuchstaben(ByVal iWert As Integer) As String
    Dim Spaltenbuchstabe As String
    Spaltenbuchstabe = Right(Columns(iWert).Address, Len(Columns(iWert).Address) - InStrRev( _
    Columns(iWert).Address, "$"))
    WandleZahlInBuchstaben = Spaltenbuchstabe
    End Function
    
    Gruß
    yummi
    Anzeige
    AW: VBA nicht korrekt
    26.02.2018 09:04:21
    Pascal
    Hallo UweD
    Vielen Dank. Wieder etwas dazu gelernt.
    :)
    LG Pascal
    ;

    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