Identische Suchabfrage auf mehreren Tabellenblätern *Neuling*
#11
Hallöchen,

die Ursache ist, dass man auf einem nicht aktiven Blatt nichts selektieren kann. Nimm mal die 4 Zeilen raus:

   ws.Range("A11:Y43").Select
   ActiveWindow.LargeScroll Down:=-1
   ws.Range("A11:Y43").Select
   ActiveWindow.SmallScroll Down:=-33

Weitere Fehler nicht ausgeschlossen Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Spoon1975
Top
#12
Danke Schauan :)
 
Vielleicht hab ich mich falsch ausgedrückt, das sortieren soll immer nur auf dem aktiven Blatt geschehen ! Nicht alle 365 Blätter ! Die Formel unten geht auf jeden Fall ! jedoch werden alle Blätter sortiert und nicht nur das "aktive", wie z.B. ein Tag vom Jahr. Mein ursprüngliches Problem war, dass mein Makro sich nicht kopieren lies und immer nur den Tag/Blatt sortierte wo ich das Makro aufgezeichnet hab.

Also ein Makro für alle Blätter, aber sortieren immer nur das aktive!

Wenn ich nur Excel könnt :(


Zitat:Sub SortAblauf()
Dim ws As Worksheet
' SortAblauf Makro
'
'

For Each ws In Worksheets
   ws.Sort.SortFields.Clear
   ws.Sort.SortFields.Add Key:=Range _
       ("I11:I43"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
       xlSortNormal
   With ws.Sort
       .SetRange Range("A11:Y43")
       .Header = xlGuess
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
    Next ws
End Sub
Top
#13
Hallo,

dann mach es doch so (ungetestet):


Code:
Sub SortAblauf()
Dim ws As Worksheet
' SortAblauf Makro
'
'

set ws= activeWorksheets
   ws.Sort.SortFields.Clear
   ws.Sort.SortFields.Add Key:=Range _
       ("I11:I43"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
       xlSortNormal
   With ws.Sort
       .SetRange Range("A11:Y43")
       .Header = xlGuess
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
   
End Sub
Das in ein Modul.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Spoon1975
Top
#14
Hallo Edgar !

Vielen Dank, aber es kommt ein Fehler:

Laufzeitfehler "424" "Objekt erforderlich"
Gelb markiert im Code ist dann :"Set ws = activeWorksheets"

Ich hab die Datei, "in Kurzfassung" mal angehängt. Sortiert werden soll nach Spalte I. Und dieses Makro soll auf allen "aktiven" Blättern ausführbar sein, aber nicht! alle Blätter sortieren! sondern immer nur das Blatt in dem ich mich befinde.


Vielen Dank und Gruß


Spoon


Angehängte Dateien
.xls   Test.xls (Größe: 178 KB / Downloads: 1)
Top
#15
Hi,

Bin nicht am Rechner. Google mal nach Excel VBA activeSheet. Workbook ist definitiv falsch.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Spoon1975
Top
#16
Hallo,

versuchs mal mit

PHP-Code:
Set ws ActiveSheet 
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Spoon1975
Top
#17
Dankeeeeeeeeee !!!!! Klappt wunderbar !

Vielen Dank an alle die geholfen haben !

hier der "final" Code ( ich hass es immer, wenn im Internet alle schreien "Problem gelöst" und nicht die Lösung nennen :) )

Code:
Sub SortAblauf()

Dim ws As Worksheet
' SortAblauf Makro
'
'
Set ws = ActiveSheet
   ws.Sort.SortFields.Clear
    ws.Sort.SortFields.Add Key:=Range _
        ("I11:I43"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ws.Sort
        .SetRange Range("A11:Y43")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Grüße

Spoon
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste