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

Mindestens 2 Eingaben für Makroausführung

Mindestens 2 Eingaben für Makroausführung
17.07.2007 11:56:00
Salim

Hallo zusammen,
ich habe mit mehreren Beiträgen aus diesem Forum ein relativ langen Code gebastelt, der auch soweit prima funktioniert! Da es Daten aus mehreren Bereichen zusammensucht und später einen Spezialfilter braucht, um doppelte Einträge zu löschen und das Ganze zu sortieren, kann es nicht ausgeführt werden, wenn nicht mindestens 2 Einträge erfolgt sind.
Ich würde gerne einen zusätzlichen Befehl einbauen, der die vorhandenen Einträge zählt und falls diese Anzahl kleiner 2 sein sollte, erscheint eine MsgBox "Die Auswertung erfordert mindestens 2 Einträge". Ich habe den Code eingefügt.
Danke euch. Gruss Salim

Public Sub Zusammenfuehren()
Dim aBlatt    As Variant
Dim iIndex    As Integer
Dim lLetzte   As Long
Dim lZeile_Q  As Long
Dim lZeile_Z  As Long
Dim WkSh_Z    As Worksheet
Application.ScreenUpdating = False
aBlatt = Array("RSPLAN", "RSFC", "OFREC", "ZEIST")
Set WkSh_Z = Worksheets("Codes")
WkSh_Z.Range("A:B").Clear
For iIndex = 0 To 3
With Worksheets(aBlatt(iIndex))
lLetzte = IIf(.Range("b65536")  "", 65536, .Range("b65536").End(xlUp).Row)
For lZeile_Q = 1 To lLetzte
If .Range("b" & lZeile_Q).Value  "" Then
If Application.WorksheetFunction.CountIf _
(WkSh_Z.Columns(1), .Range("b" & lZeile_Q).Value) = 0 Then
lZeile_Z = lZeile_Z + 1
WkSh_Z.Range("b" & lZeile_Z).Value = .Range("b" & lZeile_Q).Value
End If
End If
Next lZeile_Q
End With
Next iIndex
WkSh_Z.Activate
WkSh_Z.Columns("b:b").Sort _
Key1:=Range("b1"), Order1:=xlAscending, _
header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
Dim i As Long
Dim sp As Integer
Cells.Select
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
sp = 2   'Spaltennummer
For i = Cells(Rows.Count, sp).End(xlUp).Row To 2 Step -1
If Cells(i, sp).Value = Cells(i - 1, sp).Value Then Rows(i).Delete Shift:=xlUp
Next i
WkSh_Z.Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=WkSh_Z.Columns( _
"A:A"), CopyToRange:=WkSh_Z.Range("A1"), Unique:=True
Dim iRow%, r%
iRow = Cells(Rows.Count, 1).End(xlUp).Row
For r = iRow To 1 Step -1
If Cells(r, 1) 


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mindestens 2 Eingaben für Makroausführung
17.07.2007 12:15:00
Salim
Hallo nochmal,
das Problem habe ich bereits gelöst. Die Zeile mit dem Spezialfilter habe ich rausgenommen, war gar nicht notwendig.
Gruss
Salim
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige