Supportnet / Forum / Tabellenkalkulation
Checkbox, Combobox - Excel spinnt!
Frage
Hallo Community,
ich hatte an anderer Stelle im Zusammenhang mit meinem "Checkbox-Problem" schon darüber geschrieben. Jetzt habe ich erkannt, wie dieses Phänomen zustande kommt – das erklärt es aber nicht. Also die Sache ist die:
Ich habe eine Exceltabelle mit mehreren Checkboxen. Wenn ich das Blatt einzeln lade und die Checkboxen rauf und runter durchklicke, funktioniert das alles wunderbar. Um meiner Aufgabe gerecht zu werden, verlinke ich das Blatt. D. h., ich lade es aus einer anderen Tabelle mit Hyperlink. Und da passiert es! Die Checkboxen "spinnen", die schalten sich bei Klick in eine andere Box oder klick-sonst-wo-hin einfach um, ohne dass der Wert geändert wird, d. h. Häkchen raus oder Häkchen rein, völlig unmotiviert, der Wert Falsch oder Wahr bleibt aber stehen. Ein gewisses Muster lässt sich allerdings erkennen. Ich habe zum Testen sogar die Basic-Programmierung, die ich zum Auswerten eingebaut habe, weggenommen, nützt alles nichts.
Aus lauter Verzweiflung habe ich das Blatt umgebaut mit Comboboxen. Ist sogar noch besser, sehr schön. Aber es passiert das gleiche! Als einzelnes Blatt funktioniert alles prima. Sobald ich die Tabelle über Hyperlink aufrufe, spinnen auch die Comboboxen. Ich habe da ein Listenfeld mit 4 Zeilen vorgesehen, die natürlich ausgewertet werden. Wenn ich die Tabelle über Hyperlink lade, "springen" die Zeilen um, wenn ich in die Zelle daneben klicke oder in eine andere Combobox. Der Wert in der LinkedCell bleibt aber stehen. Kann mir das jemand erklären? Und wie soll ich nun meine Aufgabe zu Ende bringen? :-(
Hat jemand eine Erklärung?
Die sich vor Verzweiflung die Haare raufende
Leona
Antwort 1 von Leona
Schade, leider wußte keiner etwas dazu zu schreiben :(
Ich habe inzwischen einiges ausprobiert und auf einem Blatt (Tabelle) nur eine Reihe Checkboxen (11 Stück)angelegt und auf einem anderen Blatt nur den Hyperlink. Das Ergebnis bleibt dasselbe. Solange das Checkbox-Blatt einzeln bearbeitet wird, funktioniert alles prima. Sobald es aber über Hyperlink aufgerufen wird, "spinnen" die Checkboxen. Ich arbeite mit WinXP und Excel 2000. Ich habe den Test auf einem anderen PC gemacht, ebenfalls WinXP und Excel 2000, das gleiche Ergebnis. Unter Win98 und Excel 2000 ebenfalls. Gestern war ich an einem PC mit Win 98 und Excel 97 - und siehe da! da funktioniert es. Ist das eventuell ein Bug in Excel 2000, habt ihr schon mal was gehört in dieser Richtung? Was kann ich da nun machen?
Ich habe inzwischen einiges ausprobiert und auf einem Blatt (Tabelle) nur eine Reihe Checkboxen (11 Stück)angelegt und auf einem anderen Blatt nur den Hyperlink. Das Ergebnis bleibt dasselbe. Solange das Checkbox-Blatt einzeln bearbeitet wird, funktioniert alles prima. Sobald es aber über Hyperlink aufgerufen wird, "spinnen" die Checkboxen. Ich arbeite mit WinXP und Excel 2000. Ich habe den Test auf einem anderen PC gemacht, ebenfalls WinXP und Excel 2000, das gleiche Ergebnis. Unter Win98 und Excel 2000 ebenfalls. Gestern war ich an einem PC mit Win 98 und Excel 97 - und siehe da! da funktioniert es. Ist das eventuell ein Bug in Excel 2000, habt ihr schon mal was gehört in dieser Richtung? Was kann ich da nun machen?
Antwort 2 von nighty
hi leona :)
koenntest damit mal experimentieren statt checkboxen die combobox bearbeiten :)
gruss nighty
einzufuegen allgemeines modul
Public festhalt(10) As Integer
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
festhalt(1) = 1
Else
festhalt(1) = 0
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
festhalt(2) = 1
Else
festhalt(2) = 0
End If
End Sub
rem einzufuegen altf11(vbeditor)/projektexplorer/DeineTabelle
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
For t1 = 1 To 2
If festhalt(t1) = 1 Then
Cells(t1, 1) = "" & t1 & "checkbox gesetzt"
Else
Cells(t1, 1) = "" & t1 & "checkbox nicht gesetzt"
End If
Next t1
End Sub
koenntest damit mal experimentieren statt checkboxen die combobox bearbeiten :)
gruss nighty
einzufuegen allgemeines modul
Public festhalt(10) As Integer
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
festhalt(1) = 1
Else
festhalt(1) = 0
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
festhalt(2) = 1
Else
festhalt(2) = 0
End If
End Sub
rem einzufuegen altf11(vbeditor)/projektexplorer/DeineTabelle
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
For t1 = 1 To 2
If festhalt(t1) = 1 Then
Cells(t1, 1) = "" & t1 & "checkbox gesetzt"
Else
Cells(t1, 1) = "" & t1 & "checkbox nicht gesetzt"
End If
Next t1
End Sub
Antwort 3 von nighty
hi leona :)
oder probier das :)
regiert auf zellenwechsel,angenommen a1 ist der hyperlink so wird zum wechsel nach a1 checkboxen ausgeschaltet.die 10 waere fuer 10 checkboxen bzw. andere elemente,der anzahl anzupassen.
einzufuegen alt f11(vbeditor)/projektexplorer/DeineTabelle
Private Sub worksheet_Change(ByVal Target As Range)
With Worksheet
For zaehler1 = 1 To 10
If Target.Row = 1 And Target.Column = 1 Then
With Assistant.NewBalloon
.CheckBoxes(zaehler1).Checked = False
End With
Else
.CheckBoxes(zaehler1).Checked = True
End If
Next zaehler1
End With
End Sub
oder probier das :)
regiert auf zellenwechsel,angenommen a1 ist der hyperlink so wird zum wechsel nach a1 checkboxen ausgeschaltet.die 10 waere fuer 10 checkboxen bzw. andere elemente,der anzahl anzupassen.
einzufuegen alt f11(vbeditor)/projektexplorer/DeineTabelle
Private Sub worksheet_Change(ByVal Target As Range)
With Worksheet
For zaehler1 = 1 To 10
If Target.Row = 1 And Target.Column = 1 Then
With Assistant.NewBalloon
.CheckBoxes(zaehler1).Checked = False
End With
Else
.CheckBoxes(zaehler1).Checked = True
End If
Next zaehler1
End With
End Sub
Antwort 4 von nighty
hi alle :)
da ich das problem nicht selber nachvollziehen kann sind die makros nicht getestet :(
gruss nighty
da ich das problem nicht selber nachvollziehen kann sind die makros nicht getestet :(
gruss nighty
Antwort 5 von nighty
hi alle
wie immer im obigen ein fehler,nun korrigiert :)
gruss nighty
Private Sub worksheet_Change(ByVal Target As Range)
With Worksheet
For zaehler1 = 1 To 1
With Assistant.NewBalloon
If Selection.Row = 1 And Selection.Column = 1 Then
.CheckBoxes(zaehler1).Checked = False
Else
.CheckBoxes(zaehler1).Checked = True
End If
End With
Next zaehler1
End With
End Sub
wie immer im obigen ein fehler,nun korrigiert :)
gruss nighty
Private Sub worksheet_Change(ByVal Target As Range)
With Worksheet
For zaehler1 = 1 To 1
With Assistant.NewBalloon
If Selection.Row = 1 And Selection.Column = 1 Then
.CheckBoxes(zaehler1).Checked = False
Else
.CheckBoxes(zaehler1).Checked = True
End If
End With
Next zaehler1
End With
End Sub
Antwort 6 von Leona
Vielen Dank! Ich werde es ausprobieren. Aber eine Erklärung für dieses Phänomen wißt ihr auch nicht? Alles sehr merkwürdig ...
Antwort 7 von nighty
hi leona :)
ohne bugs waere es soooo langweilig :)
gruss nighty
ohne bugs waere es soooo langweilig :)
gruss nighty
Antwort 8 von Leona
Na wenn du das so siehst ... ;)

