Thema Datum  Von Nutzer Rating
Antwort
23.03.2014 21:30:04 iMa
NotSolved
Blau Zellen miteinander vergleichen und bei gleichem Wert löschen
24.03.2014 00:09:21 frau
NotSolved

Ansicht des Beitrags:
Von:
frau
Datum:
24.03.2014 00:09:21
Views:
807
Rating: Antwort:
  Ja
Thema:
Zellen miteinander vergleichen und bei gleichem Wert löschen

Hi iMa,

zum "Nachdenken" ;)

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Option Explicit
Dim lRow As Long, lCol As Long  'letzte Zeile, Spalte
Dim sRng As Range, c As Range   'durchsuchter Bereich, Zelle
Dim k As Range, q As Range    'Suche
Public mColor As Long              'Farbe
 
Sub Test()
'zu Testzwecken werden die Duplikate nur eingefärbt
 
lRow = Cells.Find("*", [a1], , , xlByRows, xlPrevious).Row
lCol = Cells.Find("*", [a1], , , xlByRows, xlPrevious).Row
Set sRng = Range(Cells(2, 1), Cells(lRow, lCol))
 
Application.ScreenUpdating = False
 
  mColor = 0
  NamedColumn "Spalte ist vorgegeben - jede Zelle in der Spalte nach unten"
 
  '**********************************************
  ' oder eine andere Methode ??
  ' wie jede Zeile mit darunter liegender Zeile ?
  ' jede Zelle mit darunter liegenden Zellen ????
 
  If mColor <> 0 Then
    If DoIt("sofort löschen") Then TestErgebnisLöschen
  End If
   
Application.ScreenUpdating = True
 
End Sub
 
Sub TestErgebnisLöschen()
Dim x As Long, y As Long
'eingefärbte Zeilen löschen
   
  If mColor = 0 Then Exit Sub
   
  For x = lRow To 2 Step -1
    For y = 1 To lCol
      If Cells(x, y).Interior.Color = mColor Then
        Rows(x).Delete
        Exit For
      End If
    Next y
  Next x
  mColor = 0
   
End Sub
 
Private Sub NamedColumn(Hint)
  Dim mCol As Long  'Auswahl Spalte
  Dim x As Long
   
  If Not DoIt(Hint) Then Exit Sub
   
  mColor = RGB(255, 0, 0)
   
  On Error GoTo errorhandler
  mCol = CLng(InputBox("Spalte als Zahl : ", , "1"))
  On Error GoTo 0
  If mCol > lCol Then Exit Sub
   
  CleanUp 'Bereinigung
   
  Set sRng = Range(Cells(2, mCol), Cells(lRow, mCol))
   
  For Each c In sRng
    If c.Value <> "" Then
      For x = c.Row + 1 To lRow
        If Cells(x, mCol).Value = c.Value Then
          Cells(x, mCol).Interior.Color = mColor
        End If
      Next x
    End If
  Next c
   
Exit Sub
errorhandler:
On Error GoTo 0
End Sub
 
Private Function DoIt(Hint) As Boolean
  If MsgBox(Hint, vbOKCancel, "Methode starten") = 1 Then DoIt = True
End Function
 
Private Sub CleanUp()
 With Cells.Interior
    .Pattern = xlNone
    .TintAndShade = 0
    .PatternTintAndShade = 0
  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
23.03.2014 21:30:04 iMa
NotSolved
Blau Zellen miteinander vergleichen und bei gleichem Wert löschen
24.03.2014 00:09:21 frau
NotSolved