Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
660to664
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
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Reset values

Reset values
07.09.2005 13:42:47
Tatiana
Ich bin sicher, dass gibt es einfache Loesung dafuer, aber ich finde ihn nicht:
ich habe mehrere Felder, die von einandere Abhaengig sind. Wie ist es moeglich zu machen, dass wenn ich eine davon wechsele, dann loescht er alte Werte in die Zeilen, dass ich gezwungen bin sie nocheinmal auszufuehlen?
Merci,
Tatiana

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

Betreff
Datum
Anwender
Anzeige
AW: Reset values
07.09.2005 14:13:03
Ralf
Hallo Tatiana,
ohne VBA Kenntnisse ist da wohl nicht viel zu machen. Und mit VBA Kenntnissen, bei so wenigen Hintergrundinformationen auch nichts. Du müßtest schon genauer sagen welche Zelle ist von welcher und warum abhängig, spielt die Abhängigkeit überhaupt eine Rolle und um welche Zellen handelt es sich dabei.
Ciao, Ralf
AW: Reset values
07.09.2005 14:25:04
Tatiana
Macros ist dabei. Es funtionniert auch. Ich will aber, dass wenn ich "AccesEx" von "1" auf 323 vechsele und umgekehrt, dass die Zeile C13 und C15 geleert werden, dass man ist gezwungen sie auszufuehlen.
Danke!
________________________________________________________________________________
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$13" Or Target.Address = "$C$15" Then
If AccesEx = "1" Then
If Cells(13, 3) < 1400 Then
MsgBox "Forget it, Frank! Everybody knows, BS has to be at least 1400"
ChargeEx.ListFillRange = "Tables!F15"
ChargeEx.ListIndex = 0
Exit Sub
End If
If Cells(15, 3) < 1450 Then
MsgBox "Forget it, Frank! Everybody knows, TS has to be at least 1450"
ChargeEx.ListFillRange = "Tables!F15"
ChargeEx.ListIndex = 0
End If
If Cells(13, 3) >= 1400 And Cells(13, 3) < 1500 Then
If Cells(15, 3) >= 1450 And Cells(15, 3) < 1600 Then
ChargeEx.ListFillRange = "Tables!F4"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1500 And Cells(13, 3) < 1600 Then
If Cells(15, 3) >= 1600 And Cells(15, 3) < 1650 Then
ChargeEx.ListFillRange = "Tables!F5"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1600 And Cells(13, 3) < 1650 Then
If Cells(15, 3) >= 1600 And Cells(15, 3) < 1650 Then
ChargeEx.ListFillRange = "Tables!F6"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1600 And Cells(13, 3) < 1650 Then
If Cells(15, 3) >= 1750 And Cells(15, 3) < 2450 Then
ChargeEx.ListFillRange = "Tables!F7"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1650 And Cells(13, 3) < 2000 Then
If Cells(15, 3) >= 2450 And Cells(15, 3) < 4000 Then
ChargeEx.ListFillRange = "Tables!F8"
ChargeEx.ListIndex = 0
End If
End If
ElseIf AccesEx = "2" Then
If Cells(13, 3) < 1500 Then
MsgBox "Forget it, Frank! Everybody knows, BS has to be at least 1500"
ChargeEx.ListFillRange = "Tables!F15"
ChargeEx.ListIndex = 0
Exit Sub
End If
If Cells(15, 3) < 1650 Then
MsgBox "Forget it, Frank! Everybody knows, TS has to be at least 1650"
ChargeEx.ListFillRange = "Tables!F15"
ChargeEx.ListIndex = 0
End If
If Cells(13, 3) >= 1500 And Cells(13, 3) < 1600 Then
If Cells(15, 3) >= 1650 And Cells(15, 3) < 1850 Then
ChargeEx.ListFillRange = "Tables!F5"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1600 And Cells(13, 3) < 1800 Then
If Cells(15, 3) >= 1650 And Cells(15, 3) < 1850 Then
ChargeEx.ListFillRange = "Tables!F6"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1600 And Cells(13, 3) < 1650 Then
If Cells(15, 3) >= 1800 And Cells(15, 3) < 1950 Then
ChargeEx.ListFillRange = "Tables!F7"
ChargeEx.ListIndex = 0
End If
End If
If Cells(13, 3) >= 1650 And Cells(13, 3) < 2500 Then
If Cells(15, 3) >= 2500 And Cells(15, 3) < 2650 Then
ChargeEx.ListFillRange = "Tables!F8"
ChargeEx.ListIndex = 0
End If
End If
End If
End If
End Sub

Anzeige
AW: Reset values
07.09.2005 14:48:55
Ralf
Hallo Tatiana,
wenn Du nur bei wechsel von AccessEx = 1 zu 323 und umgekehrt leeren willst, dann brauchst Du noch eine globale Variable, die den alten AccessEx-Wert speichert. Bsp:
Option Explicit
Dim oldAccess$

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (oldAccess = "1" And AccessEx = "323") or (oldAccess = "323" and AccessEx = "1") Then
Range("C13") = ""
Range("C15") = ""
End if
oldAccess = AccessEx
End Sub

Empfehlenswert ist, AccessEx beim Start des Workbooks gleich mit einem Wert zu füllen.
Ciao, Ralf
Anzeige
AW: Reset values
07.09.2005 15:00:39
Tatiana
Johoho!
Genau wie ich gedacht habe, war ganz einfach:

Private Sub AccesEx_Change()
Cells(13, 3).ClearContents
Cells(15, 3).ClearContents
MsgBox "Insert once again the values for BS + TS"
End Sub

Aber ich habe noch immer ander Problem:
ich habe zweil Zeile "$C$13" und "$C$15", wo ich die Werte selbst eintipe.
Und ich haette gerne gehabt, dass wenn ich in einem Wert wechsele, wird andere geleert um wieder es neu einzugeben.
Danke, wenn jemand mir ein Tip gibt!
AW: Reset values
07.09.2005 15:25:23
Tatiana
Johoho!
Genau wie ich gedacht habe, war ganz einfach:

Private Sub AccesEx_Change()
Cells(13, 3).ClearContents
Cells(15, 3).ClearContents
MsgBox "Insert once again the values for BS + TS"
End Sub

Aber ich habe noch immer ander Problem:
ich habe zweil Zeile "$C$13" und "$C$15", wo ich die Werte selbst eintipe.
Und ich haette gerne gehabt, dass wenn ich in einem Wert wechsele, wird andere geleert um wieder es neu einzugeben.
Danke, wenn jemand mir ein Tip gibt!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige