Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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

Makro selektiert zuviel xldown

Makro selektiert zuviel xldown
jens
Hallo Excel-Profis,
ich habe ein Makro mit dem ich mir aus einer Liste per Autofilter Daten aufrufe und die dann in ein anderes Blatt kopiere.
Eigentlich funktioniert es ganz gut aber ich habe 2 Probleme:
1. Wenn keine Sätze selektiert werden bricht das Makro ab - es sollte einfach eine Meldung kommen, dass keine Sätze gefunden werden.
2. Manchmal selektiert das Makro alle Zeilen von x bis 65556 und dann kann er das im 2ten Blatt nicht einfügen. Das passiert eigentlich nur dann, wenn nur eine Trefferzeile gefunden wird.
Ich weiß aber, das es wegen des Formulares max. 32 Zeilen sein könnten.
Weiß jemand warum er manchmal von einer Zeile aus alles bis nach unten selektiert?
Hier der Code:
Sub Rg_Aufrufen()
Dim nr As Integer
nr = Sheets("Eingabe").Range("f2").Value
Application.ScreenUpdating = False
Sheets("Liste").Select
Dim i As Integer, Alle As Integer
Application.ScreenUpdating = False
Alle = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
For i = Alle To 1 Step -1
Do While Application.CountA(Rows(i)) = False
Rows(i).EntireRow.Delete
Loop
Next i
Selection.AutoFilter Field:=20, Criteria1:=nr
Selection.AutoFilter Field:=21, Criteria1:="nein"
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Eingabe").Select
Range("W40").Select
ActiveSheet.Paste
Sheets("Liste").Select
Selection.ClearContents
ActiveSheet.ShowAllData
End Sub
Vielen Dank für Eure Hilfe
Viele Grüße Jens

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro selektiert zuviel xldown
26.08.2010 20:42:36
Henrik
Hallo Jens,
ich weiß nicht wie sich ALLE ergibt. Mal auf die Schnelle was gebastelt.

Sub Rg_Aufrufen()
set wksL=Thisworkbook.worksheets("Liste")
set wksE =Thisworkbook.worksheets("Eingabe")
nr = wksE.Range("f2").Value
ALLE=1000
for zae1=ALLE to 1 step -1
if worksheetfunction.counta(wksL.rows(zae1))=false then wksL.rows(zae1).entirerow.delete
'Annahmen: Kriterium nr wird in Spalte 3 gesucht, Kriterium "nein" in Spalte 5
if wksL.cells(zae1,3)=nr and wks.cells(zae1,5)="nein" then
wksL.rows(zae1)=copy
zae2=zae2+1
wksE.rows(39+zae2,"W").paste
end if
next zae1
wksL.range("A1:AZ1000").clearcontents
Application.cutcopymode=false
end sub

Gruß
Henrik
Anzeige
AW: Makro selektiert zuviel xldown
26.08.2010 20:58:48
jens
Hallo Henrik vielen Dank,
läuft leider in einen Fehler
if wksL.cells(zae1,3)=nr and wks.cells(zae1,5)="nein" then
Ich denke eigentlich, dass ganze drumherum ist ok, das Problem liegt hier:
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Gruß Jens
AW: Makro selektiert zuviel xldown
26.08.2010 21:02:52
EvilRik
Sry Jens,
hatte mich vertippt.
Bitte erseztze

if wksL.cells(zae1,3)=nr and wks.cells(zae1,5)="nein"

durch

if wksL.cells(zae1,3)=nr and wksL.cells(zae1,5)="nein"

Der Teufel liegt im Detail :)
Mit dieser Prozedur wollte ich ja die ganze Filterei und Selektionirei umgehen.
Du löscht doch hinterher sowieso die Liste oder nicht?
Gruß Henrik
Anzeige
AW: Makro selektiert zuviel xldown
26.08.2010 21:13:18
jens
Hallo Henrik,
vielen Dank, jetzt steigt er hier aus:
ActiveSheet.ShowAllData
Außerdem sind im Blatt Liste alle Überschriften, andere Daten und die Autofilter weg...
Hast Du eine Idee, wie man
Selection.AutoFilter Field:=20, Criteria1:=tischnr
Selection.AutoFilter Field:=21, Criteria1:="nein"
Range("A2").Select
Jetzt muß man nur fesgstellen, ob nur eine Zeile gefiltert wurde - oder wie viele und dann dementsprechend anpassen
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Viele Grüße Jens
Menno, böses Makro :)
26.08.2010 21:19:45
EvilRik
Hallo Jens,
nein, im Ernst.
Eigentlich solltest du dein Makro durch meins ersetzen.
Sollte das immer noch nicht funktionieren, lade bitte deine Mappe als Beispiel (abgeändert oder nicht) auf den Server über FileUpload.
Dann wird gefilter was das Zeug hält.
Gruß
Henrik
Anzeige
AW: Menno, böses Makro :)
26.08.2010 21:29:28
jens
Hallo Henrik,
vielen Dank für die Hilfe, ich habe das jetzt so hinbekommen:
Selection.AutoFilter Field:=20, Criteria1:=nr
Selection.AutoFilter Field:=21, Criteria1:="nein"
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Eingabe").Select
Range("W39").Select
ActiveSheet.Paste
Sheets("Liste").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ClearContents
ActiveSheet.ShowAllData
Ich gehe von A1 aus dann geht er auch bei einer Zeile nur einen runter. Dafür übertrage ich einen eher W39 statt W40.
Am Ende lösche ich dann wieder von A2 aus, damit habe ich ja kein Problem (bei A1 löscht ermir sonst die Überschriften und Autofilter).
Also noch mal vielen Dank - hast Du eine Idee, wie man es abfedern kann, das er bei gar keinen Datensätzen aussteigt? Ich hätte lieber eine Meldung.
Vielen Dank noch mal viele Grüße Jens
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige