Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1932to1936
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierung in Mehreren Arbeitsblättern

Sortierung in Mehreren Arbeitsblättern
07.06.2023 14:47:16
WunschPizza

Schönen Guten Tag Liebe Forumsfreunde,
ich bin auf ein Problem gestoßen und weiß nun leider selber nicht mehr weiter.
Ich Habe Eine Excel, welche ich als Datenbank verwende, diese Besitzt eine mir Unbekannte Anzahl an Arbeitsblättern.
Die Arbeitsblätter in sich haben einen Ähnlichen Aufbau.
Aufgabe ist es, die Eintragungen Alphabetisch zu Sortieren und Anschließend werden diese mit einer Firmen Internen Nummer Gekennzeichnet.
Nun zu meinem Problem ab dem 2.Worksheet spuckt diese Zeile "ThisWorkbook.Worksheets(Index1).Range(Columns(2), Columns(20)).Sort key1:=Columns(2), Header:=xlGuess" immer einen Objekt oder anwendungsdefinierten Fehler. Unten Findet ihr den Gesamten Code.
Wo steckt mein Fehler ?
Ich danke euch schon Vorab für eure Hilfe.

Sub SortAndNumber()
'Variablen Deklaration
Dim Number As Integer
Dim IntNrMax As Double
Dim Index1 As String


'Startwerte
Number = 0
IntNrMax = 0

'Code
For Each Worksheet In ThisWorkbook.Worksheets
Index1 = Worksheet.Name
If Worksheet.Name > "RAM" Then
Number = WorksheetFunction.CountA(ThisWorkbook.Worksheets(Worksheet.Name).Columns(2)) - 1
Problem --> ThisWorkbook.Worksheets(Index1).Range(Columns(2), Columns(20)).Sort key1:=Columns(2), Header:=xlGuess
For x = 1 To Number
ThisWorkbook.Worksheets(Worksheet.Name).Cells(x + 1, 1).Value = x + IntNrMax
Next
IntNrMax = WorksheetFunction.Max(ThisWorkbook.Worksheets(Worksheet.Name).Columns(1))
End If
Next Worksheet
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierung in Mehreren Arbeitsblättern
07.06.2023 15:44:20
Nepumuk
Hallo,

so:

Public Sub SortAndNumber()
    'Variablen Deklaration
    Dim Number As Integer
    Dim IntNrMax As Double
    Dim Index1 As String
    Dim objWorksheet As Worksheet
    Dim x As Long

    'Startwerte
    Number = 0
    IntNrMax = 0

    'Code
    For Each objWorksheet In ThisWorkbook.Worksheets
        If objWorksheet.Name > "RAM" Then
            Number = WorksheetFunction.CountA(objWorksheet.Columns(2)) - 1
            With objWorksheet
                .Range(.Columns(2), .Columns(20)).Sort Key1:=.Cells(1, 2), Header:=xlGuess
            End With
            For x = 1 To Number
                objWorksheet.Cells(x + 1, 1).Value = x + IntNrMax
            Next
            IntNrMax = WorksheetFunction.Max(objWorksheet.Columns(1))
        End If
    Next
End Sub
Gruß
Nepumuk


Anzeige
AW: Sortierung in Mehreren Arbeitsblättern
07.06.2023 17:20:56
snb
Verzichte auf Variabele Namen die in VBA 'reserved" sind
Sub M_snb()
  For Each it  In ThisWorkbook.Worksheets
   If it.Name > "RAM" Then
     With it.usedrange
         .Sort it.cells(1,2),,,,,,,1
        .offset(1).resize(.rows.count)-1)=evaluate("row(" & n+1 &":" & n+.rows.count -1& ")")
   end if
  Next
End Sub

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige