Thema Datum  Von Nutzer Rating
Antwort
22.05.2017 08:00:08 rotkiv
NotSolved
22.05.2017 09:54:15 SJ
NotSolved
22.05.2017 10:50:12 Gast11182
NotSolved
22.05.2017 14:21:52 SJ
NotSolved
22.05.2017 14:45:22 Gast38884
NotSolved
23.05.2017 08:00:14 SJ
NotSolved
Rot Zelleninhalt als Kriterium - VBA/EXCEL
23.05.2017 08:06:01 Gast10054
NotSolved
23.05.2017 08:13:51 SJ
NotSolved
23.05.2017 08:25:43 Gast92989
NotSolved
23.05.2017 09:46:59 SJ
NotSolved
23.05.2017 10:02:56 Gast89554
NotSolved
23.05.2017 10:12:44 Gast23110
NotSolved
23.05.2017 10:38:23 SJ
NotSolved
23.05.2017 11:26:10 Gast25593
NotSolved
23.05.2017 11:27:57 Gast86592
NotSolved
23.05.2017 11:29:42 SJ
NotSolved
23.05.2017 11:37:28 Gast8243
NotSolved
23.05.2017 11:54:56 SJ
NotSolved
23.05.2017 12:15:15 Gast87603
Solved
23.05.2017 12:24:24 Gast85769
NotSolved

Ansicht des Beitrags:
Von:
Gast10054
Datum:
23.05.2017 08:06:01
Views:
786
Rating: Antwort:
  Ja
Thema:
Zelleninhalt als Kriterium - VBA/EXCEL

Hallo SJ!

ein Kollege von mir hat mir folgende Code geschrieben, dass ist nicht dynamischer, jedoch aber ziemlich schnell!
 



Wie zu Beginn bereits erwähnt, möchte ich, nach der Kriteriumszelle I4, die Spalte I (ab zeile I7) auf das Kriterium prüfen.

Das heißt, wenn ich in die Kriteriumzelle I4 eingebe: <4, sollen alle Zeilen gelöscht werden, die in der Spalte I einen Wert beinhalt der nicht <4 ist.

Zum Einen spielt Geschwindigkeit eine Rolle, zum anderen soll der zu überprüfende Bereich auch dynamisch sein. Das heißt, die Datensatzanzahl ab Zeile 7 kan variieren. Da können 20 Zeilen folgend aber auch 20.000.

Das i-Tüpfelchen wäre, wenn man in die Kriteriumzelle einen Zahlenbereich derfinieren könnte. Zum Beispiel größer als 5 und kleiner als 10. Anahnd davon, soll dann die Überprüfung in der Spalte I folgen.

Leute, schon jetzt tausend Dank für eure Beiträge! Ihr seit der Hammer!

Gruß rotkiv1x1

 

 

 



 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Start&, Zeilen#, OldCalc#
On Error GoTo EvOn
If Target.Address = "$I$4" Then
   If Target.Value = vbNullString Then Exit Sub
   With Application
      OldCalc = .Calculation
      .Calculation = xlCalculationManual
      .EnableEvents = False
      .ScreenUpdating = False
      .DisplayAlerts = False
   End With
   If MsgBox("Spalte I mit dem Kriterium " & Target.Value & " unwiderruflich löschen?", _
            vbYesNo + vbCritical) = vbNo Then
      MsgBox "Löschung abgebrochen!" & vbLf & "Kriterium wird gelöscht!"
      Target = vbNullString
   Else
      Start = Timer
      Range("J6") = "Dummy"
      Range("J7") = 1
      With Range("J7:J150006")
         .DataSeries
         .CurrentRegion.Sort Range("I7"), Header:=xlYes
      End With
      Range("I6:I150006").AdvancedFilter Action:=xlFilterInPlace, _
         CriteriaRange:=Range("K1:K2"), Unique:=False
      Zeilen = Range("7:150006").SpecialCells(xlCellTypeVisible).Rows.Count
      Range("7:1048576").SpecialCells(xlCellTypeVisible).Delete
      Me.ShowAllData
      With Range("J6:J150006")
         .CurrentRegion.Sort Range("J7"), Header:=xlYes
         .ClearContents
      End With
      Target = vbNullString
      Application.ScreenUpdating = True
      MsgBox "Es wurden " & Format(Zeilen, "#,##0") & " Datensätze von 150.000 gelöscht!" & vbLf & _
            "Die Aktion dauerte " & Format(Timer - Start, "0.00 sec.")
   End If
End If
EvOn:
With Application
   .EnableEvents = True
   .Calculation = OldCalc
   .ScreenUpdating = True
   .DisplayAlerts = True
End With
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.05.2017 08:00:08 rotkiv
NotSolved
22.05.2017 09:54:15 SJ
NotSolved
22.05.2017 10:50:12 Gast11182
NotSolved
22.05.2017 14:21:52 SJ
NotSolved
22.05.2017 14:45:22 Gast38884
NotSolved
23.05.2017 08:00:14 SJ
NotSolved
Rot Zelleninhalt als Kriterium - VBA/EXCEL
23.05.2017 08:06:01 Gast10054
NotSolved
23.05.2017 08:13:51 SJ
NotSolved
23.05.2017 08:25:43 Gast92989
NotSolved
23.05.2017 09:46:59 SJ
NotSolved
23.05.2017 10:02:56 Gast89554
NotSolved
23.05.2017 10:12:44 Gast23110
NotSolved
23.05.2017 10:38:23 SJ
NotSolved
23.05.2017 11:26:10 Gast25593
NotSolved
23.05.2017 11:27:57 Gast86592
NotSolved
23.05.2017 11:29:42 SJ
NotSolved
23.05.2017 11:37:28 Gast8243
NotSolved
23.05.2017 11:54:56 SJ
NotSolved
23.05.2017 12:15:15 Gast87603
Solved
23.05.2017 12:24:24 Gast85769
NotSolved