Thema Datum  Von Nutzer Rating
Antwort
06.02.2015 11:00:47 1
NotSolved
06.02.2015 17:55:23 Gast80777
NotSolved
Rot Erste und letzte Zeile in einem Farbbereich
06.02.2015 19:09:37 Gast55084
NotSolved
06.02.2015 23:16:06 1
NotSolved
07.02.2015 09:26:18 Gast80777
NotSolved
07.02.2015 18:59:53 Gast21184
NotSolved

Ansicht des Beitrags:
Von:
Gast55084
Datum:
06.02.2015 19:09:37
Views:
946
Rating: Antwort:
  Ja
Thema:
Erste und letzte Zeile in einem Farbbereich

Du kannst auch - nach Farben filtern oder auch nicht filtern - zum Bleistift:

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
Option Explicit
 
Sub MeineFarbeImKlecks()
Dim Rng As Range
   Set Rng = MeinKlecks(ActiveCell)
   'Debug.Print FarbeImKlecks(ActiveCell, Rng).Address
   Call MsgBox(" in der Farbumgebung = " & FarbeImKlecks(ActiveCell, Rng).Address, _
      vbInformation, "meine Farbe")
    
End Sub
 
Sub FarbklecksUmgebung()
   'Debug.Print MeinKlecks(ActiveCell).Address
   Call MsgBox("Umgebung = " & MeinKlecks(ActiveCell).Address, _
      vbInformation, "farbiger Spaltenbereich")
End Sub
 
Function FarbeImKlecks(myCell As Range, myArea As Range) As Range
Dim c As Range
   Set FarbeImKlecks = myCell
   For Each c In myArea
      If c.Address <> myCell.Address Then
         If c.Interior.ColorIndex = myCell.Interior.ColorIndex Then _
            Set myCell = Union(c, myCell)
      End If
   Next c
   Set FarbeImKlecks = myCell
End Function
 
Function MeinKlecks(myCell As Range) As Range
Dim Rng As Range, Flt As Range
Dim x As Long, fst As Long, lst As Long
 
   Set MeinKlecks = myCell
   Set Rng = ActiveSheet.Columns(myCell.Column)
   fst = Rng.Rows(1).Row
   lst = Rng.Rows(Rng.Rows.Count).Row
   Application.ScreenUpdating = False
   With Rng
      .AutoFilter
      .AutoFilter Field:=1, Operator:=xlFilterNoFill
      Set Flt = .SpecialCells(xlCellTypeVisible)
      .AutoFilter
   End With
   Application.ScreenUpdating = True
   If Not Intersect(Flt, myCell) Is Nothing Then
      Call MsgBox("Bereich ungültig!", vbCritical, "Abbruch")
      Exit Function
   End If
   For x = Flt.Areas.Count To 1 Step -1
      If Flt.Areas(x).Cells(1).Row < myCell.Row Then
         On Error Resume Next
         fst = Flt.Areas(x).Row + Flt.Areas(x).Rows.Count
         lst = Flt.Areas(x + 1).Row - 1
         Set MeinKlecks = Range(Cells(fst, myCell.Column), Cells(lst, myCell.Column))
         On Error GoTo 0
         Exit For
      End If
   Next x
End Function

 


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
06.02.2015 11:00:47 1
NotSolved
06.02.2015 17:55:23 Gast80777
NotSolved
Rot Erste und letzte Zeile in einem Farbbereich
06.02.2015 19:09:37 Gast55084
NotSolved
06.02.2015 23:16:06 1
NotSolved
07.02.2015 09:26:18 Gast80777
NotSolved
07.02.2015 18:59:53 Gast21184
NotSolved