Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
672to676
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
672to676
672to676
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro für Umrandung versch. großer Bereiche

Makro für Umrandung versch. großer Bereiche
02.10.2005 15:28:59
P.
Hallo Leute.
Ich bin total begeistert von dem Forum, das ist ja richtig effektiv!
Noch vor 2 Stunden wusste ich nicht, was Makros sind, und wie sie einem die Arbeit erleichtern können. Jetzt habe ich mich etwas damit beschäftig und mir sogar schon ein Makro aus dem Netz für meine Zecke ummodifiziert. Allerdings fehlt doch noch etwas.
Zu meinem Problem:
In einer Zelle befindet sich ein „-“ (Bindestrich). Das Makro soll nun den Bereich von der Zelle links neben dem „-“ bis zu 2 Zellen rechts neben dem „-“ dick umranden.
Bis jetzt habe ich es leider nur hinbekommen die Bindestrichzelle direkt dick zu umrahmen.
Ein zweites Problem wäre, dass sich in der Zelle direkt über dem „-“ eine Zahl befindet (z.B.: 15). Nun soll der Bereich von links neben dem „-“ und 15 Zeilen darüber bis zu 2 Zellen neben dem „-“ wiederum dick umrandet werden.
Wenn jemand einen Makro - Vorschlag für die beiden Probleme hätte wäre ich sehr dankbar.
Gruß Peter
PS: mein ummodifiziertes Makro sieht so aus:

Sub ZellenUmranden()
' Makro Zellumrandung
Dim Werte As Variant
Werte = Array("-")
Rot = RGB(255, 0, 0)
Schwarz = RGB(255, 255, 255)
For Each Zelle In Selection
For Each Wert In Werte
If UCase(Zelle.Value) = Wert Then
Zelle.Font.Color = Rot
With Zelle.Interior
.Color = xlAutomatic
.Pattern = xlSolid
With Zelle.Borders
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
End With
End If
Next
Next
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Umrandung versch. großer Bereiche
02.10.2005 17:25:31
Nepumuk
Hallo Peter,
was soll passieren, wenn sich das "-" in Spalte 1 oder in Spalte 256 befindet? Da gibt es kein links bzw. rechts davon. Was, wenn sich das "-" in Zeile 2 befindet und darüber die Zahl 15? Es ist nur eine Zeile darüber und keine 15.
Für die "Normalfälle" geht es so:
Public Sub ZellenUmranden()
    Dim objCell As Range
    Dim strAddress As String
    Set objCell = Selection.Find(What:="-", LookIn:=xlValues, LookAt:=xlWhole)
    If Not objCell Is Nothing Then
        strAddress = objCell.Address
        Do
            If objCell.Column > 1 And objCell.Column < Columns.Count - 2 Then
                Range(Cells(objCell.Row, objCell.Column - 1), _
                    Cells(objCell.Row, objCell.Column + 2)).BorderAround _
                    LineStyle:=xlContinuous, Weight:=xlMedium, Color:=vbBlack
                If IsNumeric(objCell.Offset(-1, 0).Text) Then
                    If objCell.Row > objCell.Offset(-1, 0).Value Then
                        Range(Cells(objCell.Row - 1, objCell.Column - 1), _
                            Cells(objCell.Row - objCell.Offset(-1, 0).Value, _
                            objCell.Column + 2)).BorderAround _
                            LineStyle:=xlContinuous, Weight:=xlMedium, Color:=vbBlack
                    End If
                End If
            End If
            objCell.Font.Color = vbRed
            Set objCell = Selection.FindNext(objCell)
        Loop While Not objCell Is Nothing And objCell.Address <> strAddress
        Set objCell = Nothing
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Makro für Umrandung versch. großer Bereiche
02.10.2005 19:24:07
Peter
Hallo,
Vielen Dank!!!
So wie es ist funktioniert es bestens. Jetzt muss ich nur noch verstehen wie ;-). Der Bindestrich befindet sich eigentlich immer in Spalte C, und es existieren definitiv auch immer genug Zeilen über dem "-", denn da steht ja auch was drin.
Also nochmal vielen Danlk für die schnelle Hilfe - schönen Feiertag.
Gruß Peter
AW: Makro für Umrandung versch. großer Bereiche
02.10.2005 19:56:54
Nepumuk
Hallo Peter,
wenn sie immer in Spalte C sind, dann schreib an Stelle von:
Set objCell = Selection.Find........
besser.
Set objCell = Columns(3).Find.........
Dann musst du die Spalte nicht makieren.
Gruß
Nepumuk

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige