Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bei Zellinhalt und Rand gleichzeitig löschen

Bei Zellinhalt und Rand gleichzeitig löschen
Lena
Hallo...
in meiner Beispieldatei ist die aktive Zelle C5. Wenn ich den Zellinhalt lösche, möchte ich, dass sich der Rahmen "Selection.Borders(xlEdgeTop).LineStyle = xlNone" löscht - auch in den zwei Zellen weiter links.
Es soll dann so aussehen, wie in Tabelle2 meiner Beispieldatei. Die betreffenden Löschzellen sind aber nur in den Spalten C, F, I, L und O, und in den Spalten 3, 5, 7 ....21. Alle anderen Zellen sollen von diesem Befehl unberührt bleiben.
In der Hoffnung, das so etwas überhaupt geht bedanke ich mich schon im Voraus für eure Hilfe.
MfG
Lena
welche Beispieldatei? owT
01.10.2009 22:35:11
Uduuh
AW: Bei Zellinhalt und Rand gleichzeitig löschen
02.10.2009 08:51:23
Tino
Hallo,
versuche es mal mit diesem Code.
Kommt als Code in die entsprechende Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range

Set Bereich = Intersect(Range("C3,C5,C7"), Target)

If Not Bereich Is Nothing Then
 For Each Bereich In Bereich
  If Bereich = "" Then
   Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlNone
  Else
   Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous
  End If
 Next Bereich
End If

End Sub
Gruß Tino
Anzeige
AW: Bei Zellinhalt und Rand gleichzeitig löschen
02.10.2009 09:52:30
Lena
Hallo Tino,
besten Dank.
Da ich es aber für mehrere Spalten brauche, habe ich es jetzt so gemacht:
Dim Montag As Range
Set Montag = Intersect(Range("C3,C5,C7,c9,c11,c13,c15,c17,c19,c21,c23,c25"), Target)
If Not Montag Is Nothing Then
For Each Montag In Montag
If Montag = "" Then
Range(Montag, Montag.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlNone
Else
Range(Montag, Montag.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous
End If
Next Montag
End If
Dim Dienstag As Range
Set Dienstag = Intersect(Range("f3,f5,f7,f9,f11,f13,f15,f17,f19,f21,f23,f25"), Target)
If Not Dienstag Is Nothing Then
For Each Dienstag In Dienstag
If Dienstag = "" Then
Range(Dienstag, Dienstag.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlNone
Else
Range(Dienstag, Dienstag.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous
End If
Next Dienstag
End If
Dim Mittwoch As Range
Set Mittwoch = Intersect(Range("h3,h5,h7,h9,h11,h13,h15,h17,h19,h21,h23,h25"), Target)
If Not Mittwoch Is Nothing Then
For Each Mittwoch In Mittwoch
If Mittwoch = "" Then
Range(Mittwoch, Mittwoch.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlNone
Else
Range(Mittwoch, Mittwoch.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous
End If
Next Mittwoch
End If
Läßt sich das nun nicht noch kürzer schreiben?
MfG
Lena
Anzeige
AW: Bei Zellinhalt und Rand gleichzeitig löschen
02.10.2009 10:35:59
Tino
Hallo,
versuche es mal so.
kommt als Code in Tabelle
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim Bereich As Range 
Dim strZellen As String 
 
'Deine Zellen 
strZellen = "C3,C5,C7,c9,c11,c13,c15,c17,c19,c21,c23,c25," & _
            "f3,f5,f7,f9,f11,f13,f15,f17,f19,f21,f23,f25," & _
            "h3,h5,h7,h9,h11,h13,h15,h17,h19,h21,h23,h25" 
 
 
 
Set Bereich = Intersect(Range(strZellen), Target) 
 
If Not Bereich Is Nothing Then 
 For Each Bereich In Bereich 
  If Bereich = "" Then 
   Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlNone 
  Else 
   Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous 
  End If 
 Next Bereich 
End If 
 
End Sub 
 

Gruß Tino
Anzeige
AW: Bei Zellinhalt und Rand gleichzeitig löschen
02.10.2009 11:07:32
Lena
Hallo Tino,
nochmal danke, es funktioniert.
Gruß
Lena
oder auch so...
02.10.2009 11:17:54
Tino
Hallo,
wenn die Bereiche immer den gleichen Abstand haben, gehts auch mit einer Schleife.
Hier mal mit 7 Stück.
kommt als Code in Tabelle
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim Bereich As Range 
Dim rZellen As Range 
Dim i As Integer 
 
'Dein erster Zellbereich 
Set rZellen = Range("C3,C5,C7,c9,c11,c13,c15,c17,c19,c21,c23,c25") 
 
For i = 3 To 18 Step 3 'für 6 weitere Bereiche (18/3 = 6) 
 Set rZellen = Union(rZellen, rZellen.Offset(0, i)) 
Next i 
 
Set Bereich = Intersect(rZellen, Target) 
 
If Not Bereich Is Nothing Then 
 For Each Bereich In Bereich 
  If Bereich = "" Then 
   Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlNone 
  Else 
   Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous 
  End If 
 Next Bereich 
End If 
 
End Sub 
 

Gruß Tino
Anzeige
AW: oder auch so...
02.10.2009 11:53:42
Lena
Hallo Tino,
danke für die zweite Möglichkeit.
MfG
Lena

299 Forumthreads zu ähnlichen Themen


Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...
Anzeige

Hallo!
Meine Arbeitsmappe hat vier Blätter, diese heißen: "Übersicht" "Hans", "Klaus" und "Karl".
In Zelle A1 von "Übersicht" steht entweder "Hans", "Klaus" oder "Karl".
In Zelle A2 soll das stehen, was in Zelle B16 des Blattes steht, das in Zelle A1 von "Übersicht" genannt ist.
...

Hallo
Ich habe über SVERWEIS mir Zellinhalte aus einer großen Tabelle ausgeben lassen.
Nun möchte ich aber bei der Ausgabe nicht den gesamten Zellinhalt mir anzeigen lassen, sondern nur die ersten 4 Ziffern.
Ist das möglich?
Vielen Dank für die Hilfe
MfG
Andreas
...
Anzeige

Hallo Excel-Profis!
Ich brauch wieder einmal eure Hilfe.
Im Archiv habe ich mir den nachfolgenden Code besorgt und ein wenig verändert.
Der Code schreibt den Inhalt des aktuellen Ordners und der Unterordner in die Spalte B einer Tabelle und verlinkt noch dazu die einzelnen Einträge...

Guten Abend zusammen,
wie kann man eine Autokorrektur in Excel abschalten? Ich muss WEI eintippen aber jedesmal wenn ich mit Enter bestätigen, es wechselt automatisch zu WIE.
Vielen Dank

Hallo,
kann ich bei einer msgbox die Schaltflächen auch selber benennen?
Ich würde gerne wissen, ob ein Wert ober- oder unterhalb eines Grenzwertes liegt und somit die Tasten "oberhalb" und "unterhalb" in der msgbox haben.
Lars
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige