Supportnet / Forum / Tabellenkalkulation
Abhängigkeiten
Frage
Hallo,
wie kann ich im Excel Abhängigkeiten von Zellen einstellen. In meinem Fall genau bräuchte ich Ausschlussregeln. Also wenn ich in der Spalte b was eintrage, dass ich automatisch auf Spalte z weitergeleitet werde....
Antwort 1 von nighty
hi marsi :)
kleines beispiel von begrenzten bereichen die eine eingabe erzwingen und dort verweilt bis gefuellt ist :)
Sub makro01()
Application.EnableEvents = False
rem zur zeit auf 100 beliebig grosse bereiche gestellt
Dim bereich$(100, 1)
rem hier zu ergaenzen,zur zeit 2 bereiche angegeben sind,es wird verlangt von bis :)
bereich$(0, 0) = "$A$1"
bereich$(0, 1) = "$A$3"
bereich$(1, 0) = "$C$1"
bereich$(1, 1) = "$D$3"
For tz% = 0 To 1
For tz1% = Asc(Mid$(bereich$(tz%, 0), 2, 1)) To Asc(Mid$(bereich$(tz%, 1), 2, 1))
For tz2% = Val(Mid$(bereich$(tz%, 0), 4, Len(bereich$(tz%, 0)))) To Val(Mid$(bereich$(tz%, 1), 4, Len(bereich$(tz%, 1))))
rem hier eventuell deine bedingungen angeben bzw. meine bedingung einer gefuellten zelle zu loeschen ist.
If Range(Chr$(tz1%) & tz2%) = "" Then
Range(Chr$(tz1%) & tz2%).Select
tz2% = Val(Mid$(bereich$(tz%, 1), 4, Len(bereich$(tz%, 1))))
tz1% = Asc(Mid$(bereich$(tz%, 1), 2, 1))
tz% = 1
End If
Next tz2%
Next tz1%
Next tz%
Application.EnableEvents = True
End Sub
gruss nighty
p.s.
oder gib mir an welche bereiche angesprungen werden sollen,so das ich es anpassen kann.
kleines beispiel von begrenzten bereichen die eine eingabe erzwingen und dort verweilt bis gefuellt ist :)
Sub makro01()
Application.EnableEvents = False
rem zur zeit auf 100 beliebig grosse bereiche gestellt
Dim bereich$(100, 1)
rem hier zu ergaenzen,zur zeit 2 bereiche angegeben sind,es wird verlangt von bis :)
bereich$(0, 0) = "$A$1"
bereich$(0, 1) = "$A$3"
bereich$(1, 0) = "$C$1"
bereich$(1, 1) = "$D$3"
For tz% = 0 To 1
For tz1% = Asc(Mid$(bereich$(tz%, 0), 2, 1)) To Asc(Mid$(bereich$(tz%, 1), 2, 1))
For tz2% = Val(Mid$(bereich$(tz%, 0), 4, Len(bereich$(tz%, 0)))) To Val(Mid$(bereich$(tz%, 1), 4, Len(bereich$(tz%, 1))))
rem hier eventuell deine bedingungen angeben bzw. meine bedingung einer gefuellten zelle zu loeschen ist.
If Range(Chr$(tz1%) & tz2%) = "" Then
Range(Chr$(tz1%) & tz2%).Select
tz2% = Val(Mid$(bereich$(tz%, 1), 4, Len(bereich$(tz%, 1))))
tz1% = Asc(Mid$(bereich$(tz%, 1), 2, 1))
tz% = 1
End If
Next tz2%
Next tz1%
Next tz%
Application.EnableEvents = True
End Sub
gruss nighty
p.s.
oder gib mir an welche bereiche angesprungen werden sollen,so das ich es anpassen kann.
Antwort 2 von nighty
hi alle :)
schon wieder vergesslich :)
sind ja zwei makros :)
das obige als allgemeines modul.
rem reagiert auf zellenwechsel und kann so die bereiche ueberwachen.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call Makro01
End Sub
vbeditor/projektexplorer/arbeitsmappe/tabelle1 anzulegen ist.
gruss nighty :)
schon wieder vergesslich :)
sind ja zwei makros :)
das obige als allgemeines modul.
rem reagiert auf zellenwechsel und kann so die bereiche ueberwachen.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call Makro01
End Sub
vbeditor/projektexplorer/arbeitsmappe/tabelle1 anzulegen ist.
gruss nighty :)

