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

Rahmen per VBA

Rahmen per VBA
28.01.2019 11:49:17
MaBlu
Hallo
Ich möchte einen Rahmen automatisch erzeugen, wenn etwas in Zelle B? steht
Dann soll es mir einen dicken Rahmen um die Zellen A bis G machen.
Gibt es da ein Makro das das selbständig erledint!
Wenn der Inhalt in B? gelöscht wird soll wieder der Standard sein.
Besten Dank für die Rückmeldung
Gruss MaBlu

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rahmen per VBA
28.01.2019 12:28:11
Luschi
Hallo MaBlu,
Dein Informationsgehalt, wodurch etwas im Tabellenblatt passiert, wird immer spärlicher:
- durch manuelle Eingabe per Tastatur/Maus
- Formel in der Zelle
- durch 1 Abfrage (Query)
- oder durch etwas Anderes
Und für jeden Fall gibt es unterschiedliche Herangehenweisen.
Gruß von Luschi
aus klein-Paris
AW: Rahmen per VBA
28.01.2019 18:17:51
MaBlu
Hallo Luschi
ja ich dachte dass das klar ist sobald einfach ein Wert reinkommt solls Funktionieren, aber du hast recht, werde mich bemühen es genauer zu Umschreiben sorry.
Das Problem konnte ich aber dank Rudis Makro lösen.
Dir vielen Dank für die Info
Gruss MaBlu
Anzeige
AW: Rahmen per VBA
28.01.2019 12:34:22
Rudi
Hallo,
bei Eintrag von Hand:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Count = 1 Then
If Target  "" Then
Target.Offset(, -1).Resize(, 7).BorderAround xlContinuous, xlMedium
Else
With Target.Offset(, -1).Resize(, 7)
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
End With
End If
End If
End If
End Sub

Gruß
Rudi
AW: Rahmen per VBA
28.01.2019 13:18:22
MaBlu
Hallo Rudi
zum Eintragen geht es wunderbar, wenn ich aber die Eingabe in der Zelle wieder lösche bleibt das Makro stehen bei
.Borders(xlDiagonalDown).LineStyle = xlNone
wahrscheinlich weil die obere Zeile einen Rahmen hat ?
Kann man hier noch was schrauben?
Gruss Mablu
Anzeige
AW: Rahmen per VBA
28.01.2019 16:50:17
Rudi
Hallo,
das Ergebnis beim löschen war ohnehin Mist.
Versuch mal das:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Count = 1 Then
With Target.Offset(, -1).Resize(, 7)
If Target  "" Then
.BorderAround xlContinuous, xlMedium
Else
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
If Target.Row > 1 Then
If Target.Offset(-1) = "" Then .Borders(xlEdgeTop).LineStyle = xlNone
End If
If Target.Offset(1) = "" Then .Borders(xlEdgeBottom).LineStyle = xlNone
End If
End With
End If
End If
End Sub
Gruß
Rudi
Anzeige
AW: Rahmen per VBA
28.01.2019 18:05:52
MaBlu
Hallo Rudi
Der Rahmen lässt sich problemlos einfügen doch wenn ich die Zelle wieder lösche bleibt es immer noch hängen bei:
Else
.Borders(xlEdgeLeft).LineStyle = xlNone
Gruss MaBlu
AW: es geht danke!
28.01.2019 18:13:35
MaBlu
Hallo Rudi
ich war zu schnell, dein Macro macht hervorragende Arbeit, es war mein Blattschutz der jedesmal dazwischen funkte und das löschen verhinderte, ich habe jetzt das Blatt am Anfang entschützt und am ende wieder geschützt. dann gehts.
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect Password:="asd"
If Target.Column = 2 Then
If Target.Count = 1 Then
With Target.Offset(, -1).Resize(, 7)
If Target  "" Then
.BorderAround xlContinuous, xlMedium
Else
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
If Target.Row > 1 Then
If Target.Offset(-1) = "" Then .Borders(xlEdgeTop).LineStyle = xlNone
End If
If Target.Offset(1) = "" Then .Borders(xlEdgeBottom).LineStyle = xlNone
End If
End With
End If
ActiveSheet.Protect Password:="asd", DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub

Vieln Dank für deine grosse Hilfe
Gruss MaBlu
Anzeige
wieso VBA? Bedingte Formatierung! (owT)
28.01.2019 12:40:59
EtoPHG

AW: wieso VBA? Bedingte Formatierung! (owT)
28.01.2019 18:15:14
MaBlu
Hallo EtoPHG
da kann ich nur einen dünnen Rahmen auswählen, und dann wird jede Zelle unterteilt, oder ich weiss nicht wie?
Gruss MaBlu
Dann nimm Füllfarbe statt Rahmen! (owT)
28.01.2019 21:14:00
EtoPHG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige