Vba code
#11
Hallo,

ich vermute, das liegt an dieser

Code:
Set rngBereich = Union(rngBereich, rngTreffer)

Codezeile. Du hast hier wahrscheinlich sehr viele Zeilen in der Bereichsvariablen. Und vielleicht gibt es da eine Obergrenze.
Gruß Stefan
Win 10 / Office 2016
Top
#12
Moin,

ja, die Grenze habe ich ab und zu auch schon erleben dürfen. Darum etwas langsamer aber dafür (hoffentlich) ohne Abbruch:

Code:
Sub RausDamit()
  Dim wksAllData As Worksheet, wksData2Del As Worksheet
  Dim rngData2del As Range
  Dim lRowAll As Long, lRow2Del As Integer, Ze As Long
 
  On Error GoTo ErrorHandler
  With Application
     .ScreenUpdating = False
     .Calculation = xlCalculationManual
  End With
  Set wksAllData = Sheets("Tabelle1")
  Set wksData2Del = Sheets("Tabelle2")
  lRow2Del = wksData2Del.Cells(Rows.Count, 1).End(xlUp).Row
  Set rngData2del = wksData2Del.Range("A2:A" & lRow2Del)
  With wksAllData
     lRowAll = .Cells(Rows.Count, 1).End(xlUp).Row
     For Ze = lRowAll To 1 Step -1
        If WorksheetFunction.CountIf(rngData2del, .Cells(Ze, 1)) _
         > 0 Then .Rows(Ze).EntireRow.Delete
     Next Ze
  End With
ErrorHandler:
  With Application
     .ScreenUpdating = False
     .Calculation = xlCalculationManual
  End With
  If Err.Number <> 0 Then MsgBox "Fehler Nr. " & Err.Number & vbCrLf _
   & Err.Description, vbCritical, "Fehler"
End Sub
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#13
Hallo Günther!
Du hast da einen fatalen Flüchtigkeitsfehler:
Code:
ErrorHandler:
 With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
 End With

es muss .Calculation = xlCalculationAutomatic heißen, sonst rechnet Excel nicht mehr.
.ScreenUdating braucht ja nicht zurückgesetzt werden, weshalb dies auch wegbleiben kann.

Kollegialer Gruß,

Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#14
Moin Ralf,

du hast natürlich Recht! Danke. So viel zum Thema: "Kleine Ursache, große Wirkung."
Copy/paste ist zwar beim coden mitunter ganz praktisch aber verführt auch zur Faulheit Sleepy .
Mir ist es eben aufgefallen, weil in einer anderen Mappe Calculation (natürlich) immer noch auf false war ...
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top


Gehe zu:


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