Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Private Sub - Befehl

Forumthread: 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

Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige