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

aktive Zelle mit Spalte F vergleichen

aktive Zelle mit Spalte F vergleichen
Karsten
Hallo,
ich komme mit meinem Befehl nicht weiter, weiß einfach nicht, ob es so überhaupt geht.
Ich möchte, dass die aktive Zelle mit dem Inhalt der Spalte F verglichen wird. Wenn bei der gefundenen Zelle in F die Füllfarbe grau ist, sollte MsgBox "grau" angezeigt werden. Funktioniert aber mit meinen Kenntnissen nicht. Ich hab ein Beispiel hochgeladen um es besser zu veranschaulichen.
https://www.herber.de/bbs/user/63031.xls
Danke für eure Hilfe.
Gruß
Karsten
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 10:00:24
Tino
Hallo,
geht es hiermit?
Sub a()
Dim BereichF As Range
Dim varRow

'Suchbereich 
Set BereichF = Range("F1", Cells(Rows.Count, 6).End(xlUp))

varRow = Application.Match(Selection(1), BereichF, 0)

If IsNumeric(varRow) Then
 If BereichF(varRow, 1).Interior.ColorIndex = 15 Then
  MsgBox "Die Zelle '" & BereichF(varRow, 1).Address(0, 0) & "' ist grau"
 End If
End If


End Sub
Gruß Tino
Anzeige
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 10:23:47
Karsten
Hallo Tino,
Danke! Jetzt bin ich ein Schritt weiter. Ich habe den Befehl noch etwas angepasst (s.u.), weiß aber schon wieder nicht weiter. Wenn in der Spalte in der sich die aktive Zelle befindet die Zelle darunter leer ist, soll die nächste Spalte "durchforstet" werden (ab Zeile 1) bis Spalte E. G nicht mehr. Ich weiß nicht ob diese Sache überhaupt noch richtig chic aussieht. Wenn alle übereinstimmenden Daten mit einmal gelöscht würden, wäre es wohl besser.
Sub a()
Dim BereichF As Range
Dim varRow
'Suchbereich
Set BereichF = Range("F1", Cells(Rows.Count, 6).End(xlUp))
varRow = Application.Match(Selection(1), BereichF, 0)
If IsNumeric(varRow) Then
If BereichF(varRow, 1).Interior.ColorIndex = 15 Then
Selection.ClearContents
With ActiveCell
Range(.Offset(1, 0), .Offset(1, 0)).Select
End With
Else
With ActiveCell
Range(.Offset(1, 0), .Offset(1, 0)).Select
End With
End If
End If
End Sub

Anzeige
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 10:33:21
Tino
Hallo,
irgendwie verstehe ich jetzt nicht richtig.
Also Du möchtest ab der Aktiven Zelle die Nachfolgenden Zellen durchlaufen und alle die gefunden werden (also grau in der der Spalte F sind) löschen?
Gruß Tino
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 10:46:38
Karsten
Hallo Tino,
ja, genau. Aber, statt der aktiven Zelle kannst du auch a1 nehmen. Es beginnt immer in A1. A1 ist bei mir "erste_Zelle_Datum" und E(x) "letzte_Zelle_Datum". Dieser Bereich kann sich durch hinzufügen von Zeilen verändern.
Geht das ganze auch, wenn die Datumreihe in F auf einem anderen Tabelleblatt steht?
Gruß
Karsten
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 10:50:47
Karsten
Hallo Tino,
ja, genau. Aber, statt der aktiven Zelle kannst du auch a1 nehmen. Es beginnt immer in A1. A1 ist bei mir "erste_Zelle_Datum" und E(x) "letzte_Zelle_Datum". Dieser Bereich kann sich durch hinzufügen von Zeilen verändern.
Geht das ganze auch, wenn die Datumreihe in F auf einem anderen Tabelleblatt steht?
Gruß
Karsten
Anzeige
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 11:07:56
Tino
Hallo,
müsste so funktionieren.
Sub A()
Dim BereichF As Range
Dim varRow
Dim Bereich As Range, rInfo As Range

With Application
 .ScreenUpdating = False
 .EnableEvents = False
    'Suchbereich 
    Set Bereich = Range("A1", Cells(Rows.Count, 1).End(xlUp).Offset(0, 4))

    With Sheets("Tabelle2") 'Deine Liste (Spalte F) Tabellenname anpassen 
     Set BereichF = .Range("F1", .Cells(.Rows.Count, 6).End(xlUp))
    End With

    For Each Bereich In Bereich
    
     If Bereich.Column >= Selection(1).Column Then
        If Not Bereich.Column = Selection(1).Column Or Bereich.Row >= Selection(1).Row Then
              varRow = Application.Match(Bereich, BereichF, 0)
          
              If IsNumeric(varRow) Then
               If BereichF(varRow, 1).Interior.ColorIndex = 15 Then
                Bereich.Value = ""
                    If rInfo Is Nothing Then
                     Set rInfo = Bereich
                    Else
                     Set rInfo = Union(Bereich, rInfo)
                    End If
               End If
              End If
        
        End If
      End If
    
    Next Bereich
 
 .ScreenUpdating = True
 .EnableEvents = True
End With


If rInfo Is Nothing Then
 MsgBox "Es wurde nichts gefunden!", vbInformation
Else
 MsgBox "Es wurden die Zelle(n)" & vbCr & rInfo.Address(0, 0) & vbCr & "gelöscht", vbInformation
End If

End Sub
Gruß Tino
Anzeige
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 11:21:25
Karsten
Hallo Tino,
klappt, bin regelrecht sprachlos. Danke.
Gruß
Karsten
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 11:59:40
Karsten
Hallo Tino,
es gibt doch noch Probleme. Vielleicht mach ich noch etwas falsch.
In meiner richtigen Datei klappt bei den Junidaten das Löschen ohne Fehler. Bei anderen Monaten funktioniert das Löschen nicht. Ich hab nochmal eine Beispieldatei gemacht. Da funktioniert der Juni jetzt kaum und der Juli gar nicht. Was hab ich da falsch gemacht?
https://www.herber.de/bbs/user/63043.xls
Gruß
Karsten
AW: aktive Zelle mit Spalte F vergleichen
09.07.2009 12:22:19
Karsten
Hallo Tino,
habs gefunden. Hab den Bereich nicht richtig angegeben.
Gruss
Karsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige