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

Private Sub - Befehl

Private Sub - Befehl
Karsten
Hallo,
kann mir jemand u.st. Befehl so schreiben, dass er im

Private Sub ... funktioniert?
Besten Dank im voraus.
Gruß
Karsten

Private Sub Worksheet_Change(ByVal Target As Excel.Range, Cancel As Boolean)
If Not ActiveCell.Offset(2, -2) = "" Then
a
Else
b
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Private Sub - Befehl
15.09.2010 11:51:59
otto
Hi,
If ActiveCell.Offset(2, -2) "" Then
ActiveCell.Offset(2, -2) = "a"
Else
ActiveCell.Offset(2, -2) = "b"
End If
otto
AW: Private Sub - Befehl
15.09.2010 12:12:10
Karsten
Hallo Otto,
danke. Mit "a" und "b" war nur ein Beispiel, was jetzt nicht weiter funktioniert, wie ich merke.
Ich hab die mal den kompletten Code kopiert. Kannst du es nochmal dementsprechend umschreiben?
Besten Dank.
Gruß
Karsten
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Offset(2, -2)  "" Then (sollte auch nur in den entsprechenden Zellen gehen "C3, _
C5,C7,c9,c11,c13,c15,c17,c19,c21,c23,c25")
ActiveCell.Offset(2, -2) =
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
Range(Bereich, Bereich.Offset(1, -2)).Borders(xlEdgeBottom).LineStyle = xlNone
Else
Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous
Range(Bereich, Bereich.Offset(1, -2)).Borders(xlEdgeBottom).LineStyle = xlContinuous
End If
Next Bereich
End If
Else
'kommt noch'
End If
End Sub

Anzeige
AW: Private Sub - Befehl
15.09.2010 12:35:58
otto
Hi,
probiers mal so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Dim rZellen As Range
Dim i As Integer
Set rZellen = Range("C3,C5,C7,c9,c11,c13,c15,c17,c19,c21,c23,c25")
If ActiveCell.Offset(2, -2)  = rZellen Then
ActiveCell.Offset(2, -2) =
'Dein erster Zellbereich
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
Range(Bereich, Bereich.Offset(1, -2)).Borders(xlEdgeBottom).LineStyle = xlNone
Else
Range(Bereich, Bereich.Offset(0, -2)).Borders(xlEdgeTop).LineStyle = xlContinuous
Range(Bereich, Bereich.Offset(1, -2)).Borders(xlEdgeBottom).LineStyle = xlContinuous
End If
Next Bereich
End If
Else
'kommt noch'
End If
End Sub

Bin auch kein Experte !
otto
Anzeige
AW: Private Sub - Befehl
15.09.2010 12:51:26
Karsten
Hallo Otto,
gehen tut's nicht, aber macht nichts. Ich hab erst mal eine andere Lösung.
Danke nochmal.
Gruß
Karsten
3x dürft ihr raten, wofür Target steht!
15.09.2010 15:16:54
Luc:-?
Wäre viell ganz klug, mal in die VBE-Hilfe zu schauen, da sind EventProcs nämlich beschrieben! Ganz abgesehen mal davon, dass die Original-Proz gar keine offizielle war, sondern sicher irgendwo abgekupfert und ohne Sachverstand einfach irgendwo-irgendwie ergänzt bzw aus Bausteinen verschiedener EventProcs zusammengestoppelt wurde.
Empfehle, vor Anwendung von EventProcs (Ereignisprozeduren) erstmal mit der Theorie beschäftigen, sonst kann das heftig ins Auge gehen. Das kann einem Anfänger schnell ein Negativ-Image in der Firma einbringen.
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige