Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
604to608
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
604to608
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

vb Sortieren mit Leerzeilen

vb Sortieren mit Leerzeilen
03.05.2005 17:11:52
Slugger
Hallo,
ich habe eine Tabelle in der SpalteA in 5er Schritten jeweils ein Name steht.
Dies will ich nun Alphabetisch ordnen lassen. Aber so, das am ende jeweils auch wieder 4 Leerzeilen dazwischen sind.
Wer weiß hier Rat?
Gruß Slugger

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vb Sortieren mit Leerzeilen
03.05.2005 17:58:17
Tinu
Hallo Slugger
Zuerst Autofilter Nonblanks, dann die zu sortierenden Einträge auswählen und sortieren. Schliesslich wieder Autofilter aus oder alle anzeigen. Wenn du das ganze in VBA möchtest, kannst Du es Dir mit dem Macro Recorder aufzeichnen.
Gruss
Tinu
Klappt nicht
04.05.2005 08:01:15
Slugger
Hallo,
ich habe es auf einem normalen Tabellenblatt so ausprobiert. Da funtioniert es. Jedoch in meinem Code funktioniert es nicht. Hier der Code:

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect ("fcn")
MsgBox "Dieser Vorgang wird ca. 40 Minuten in Anspruch nehmen. Excel kann während dieser Zeit NICHT benutzt werden", vbInformation
Sheets("Altdaten").Visible = True
Sheets("Neudaten").Visible = True
Sheets("Sicherung").Visible = True
Application.ScreenUpdating = False
Dim i As Integer
Dim k As Integer
Dim Suchwort As String
Dim Zelle As Range
Dim Gefunden As Boolean
Dim AnzahlZellenBlatt1 As Long
Dim AnzahlZellenBlatt2 As Long
'Altdaten sichern
Worksheets("Stammdaten").Range("N6:AW20000").Copy
Worksheets("Sicherung").Range("A1").PasteSpecial Paste:=xlPasteValues
Worksheets("Stammdaten").Range("AY6:AZ20000").Copy
Worksheets("Sicherung").Range("AL1").PasteSpecial Paste:=xlPasteValues
Worksheets("Stammdaten").Range("BB6:BC20000").Copy
Worksheets("Sicherung").Range("AO1").PasteSpecial Paste:=xlPasteValues
Worksheets("Stammdaten").Range("BE6:BE20000").Copy
Worksheets("Sicherung").Range("AR1").PasteSpecial Paste:=xlPasteValues
'Dateinamen auf Neuheiten überprüfen und aktualisieren
Worksheets("Altdaten").Range("A:A").Clear
Worksheets("Berechnung").Range("B:B").Copy
Worksheets("Altdaten").Range("A1").PasteSpecial Paste:=xlPasteValues
Worksheets("Neudaten").Activate
AnzahlZellenBlatt1 = Worksheets("Altdaten").UsedRange.Rows.Count
AnzahlZellenBlatt2 = Worksheets("Neudaten").UsedRange.Rows.Count
Worksheets("Altdaten").Activate
For i = 1 To AnzahlZellenBlatt1 Step 5
Suchwort = Worksheets("Altdaten").Cells(i, 1).Value
Gefunden = False
Worksheets("Neudaten").Activate
For k = 1 To AnzahlZellenBlatt2
If Suchwort = Worksheets("Neudaten").Cells(k, 1) Then
Gefunden = True
Exit For
End If
Next k
If Gefunden = False Then
Worksheets("Neudaten").Cells(AnzahlZellenBlatt2 + 5, 1).Value = Suchwort
AnzahlZellenBlatt2 = AnzahlZellenBlatt2 + 5
Worksheets("Altdaten").Select
End If
Next i
Worksheets("Neudaten").Range("A1:A20000").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="<>"
#Hier der Fehler#
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Selection.AutoFilter Field:=1
Worksheets("Neudaten").Range("A:A").Copy
Worksheets("Stammdaten").Range("A1").PasteSpecial Paste:=xlPasteValues
Worksheets("Sicherung").Calculate
'Abgeglichene Stammdaten zurückkopieren
Worksheets("Sicherung").Range("C19998:AJ39992").Copy
Worksheets("Stammdaten").Range("P6").PasteSpecial Paste:=xlPasteValues
Worksheets("Sicherung").Range("AL19998:AM39992").Copy
Worksheets("Stammdaten").Range("AY6").PasteSpecial Paste:=xlPasteValues
Worksheets("Sicherung").Range("AO19998:AP39992").Copy
Worksheets("Stammdaten").Range("BB6").PasteSpecial Paste:=xlPasteValues
Worksheets("Sicherung").Range("AR19998:AR39992").Copy
Worksheets("Stammdaten").Range("BE6").PasteSpecial Paste:=xlPasteValues
Worksheets("Stammdaten").Range("A6:B20000").Copy
Worksheets("Stammdaten").Range("N6").PasteSpecial Paste:=xlPasteValues
Sheets("Altdaten").Visible = False
Sheets("Neudaten").Visible = False
Sheets("Sicherung").Visible = False
Application.ScreenUpdating = True
ActiveSheet.Protect ("fcn"), DrawingObjects:=False, Contents:=True, Scenarios:= _
True
End Sub

Anzeige
AW: Klappt nicht2 (Beschreibung)
04.05.2005 08:04:59
Slugger
Hallo,
also im ersten Teil kopiert er nur die alten Daten ins Sicherung Tabellenblatt.
im zweiten Teil vergleicht er praktisch nur eine Spalte von Altdaten mit der Spalte aus Neudaten und schreibt neu hinzugekommene unten an letzter Stelle.
Nun sollte er deinen Vorschlag ausführen mit Autofilter usw. Hier bringt er jedoch einen Fehler.
Im letzten Teil wird erst das Sicherungsblatt berechnet das mit Sverweisen verkknüpft ist und danach werden die aktualisierten Daten wieder ins Stammdatenblatt kopiert.
Alles funktioniert, bis auf das mit dem Autofilter. Warum jedoch hab ich keine Ahnung.
Gruß
Slugger
Anzeige
AW: Klappt nicht
04.05.2005 11:13:56
Tinu
Hallo Slugger
ändere den Bereich mit dem Fehler ab wie folgt:
alt:
Worksheets("Neudaten").Range("A1:A20000").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=""
#Hier der Fehler#
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Selection.AutoFilter Field:=1

neu:
Worksheets("Neudaten").Range("A1:A20000").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=""
Range("A1:A20000").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Selection.AutoFilter Field:=1
Neu ist die Zeile mit Range select dazugekommen und Data Option1 ist gelöscht. Bei mir läufts so.
Gruss
Tinu
Anzeige
Klappt
04.05.2005 14:09:05
Slugger
Hallo,
Vielen Dank für die Info. Endlich fertig das Teil. In diesem Sinne, schönen Tag noch.
Gruß
Slugger

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige