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

Problem bei ListBox Ansteuerung

Problem bei ListBox Ansteuerung
04.08.2005 12:39:02
Sören
Hallo Leute,
folgendes Problem:
Ich habe eine Anwendung entworfen mit eigener Menüleiste, über die die einzelnen Tabellenblätter in der Arbeitsmappe angesteuert werden.
(z.B.Worksheets("Tabelle2").Activate). (Registerkarten sind ausgeblendet)
wenn ich jetzt bspw. auf tabelle1 in einer listbox einträge anklicke, dann über die oben beschriebene menüleiste, in tabelle2 wechsle und anschließend wieder zurück, ist die listbox weg! sie taucht erst beim mausklick wieder auf, ist dann jedoch gesperrt, sprich nicht ansteuerbar!!! erst wenn ich nochmal hin- und herspringe ist sie wieder aktiviert.
wenn ich jetzt aber bspw. den selben tabellenblattwechsel über die registerkarten durchführe, tritt das problem NICHT auf!
wie kann das sein? weiß jemand rat?
gruß,
sören

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem bei ListBox Ansteuerung
04.08.2005 14:29:08
Sören
Ich begreif das nicht!
Hat nicht jemand ne idee?
AW: Problem bei ListBox Ansteuerung
04.08.2005 14:38:50
Leo
Hi,
lad die Mappe mal abgespeckt hoch.
mfg Leo
AW: Problem bei ListBox Ansteuerung
04.08.2005 15:39:51
Sören
Hallo leo,
krieg die irgendwie nicht unter 300kb! was kann ich machen?
hast du denn ideen voran es liegen könnte?
gruß,
sören
AW: Problem bei ListBox Ansteuerung
04.08.2005 16:22:40
Leo
Hi,
wieso bekommst du die Datei nicht unter 300 kB? Alles rausschmeißen außer das Blatt mit der Box.
mfg Leo
AW: Problem bei ListBox Ansteuerung
04.08.2005 17:06:58
Sören
komisch! ich kriegs nicht klein. es bleibt immer bei ca. 2mb!?
ich hab schon alles rausgeschmissen! was nimmt denn so viel speicher?
AW: Problem bei ListBox Ansteuerung
04.08.2005 17:18:07
Sören
Hi,
hab dir mal meine codes reingestellt, vielleicht hilfts!?
(Modul1, Tabelle Benchmarks, Tabelle Planungsdaten)
Gruß,
sören
MODUL1:
Option Explicit
Const CBNAME As String = "Menue"
Sub Commandbar_erstellen()
Dim CB As CommandBar 'Menüleiste
Dim cbp As CommandBarPopup 'Menü
Dim cbp1 As CommandBarPopup 'Menü
Dim cbb As CommandBarButton 'Button
'Commandbar löschen
Call Commandbar_loeschen
'Commandbar erststellen
Set CB = CommandBars.Add(CBNAME)
'1.Popup-Menue "Lagerplanung" erstellen
Set cbp = CB.Controls.Add(msoControlPopup)
'Name festlegen 1.Popup-Menue
cbp.Caption = "Lagerplanung"
'1.Untermenue "Planungsbasis ermitteln" ins 1.Popup-Menue "Lagerplanung"
Set cbp1 = cbp.Controls.Add(msoControlPopup)
With cbp1
.Caption = "Planungsbasis ermitteln"
.BeginGroup = True
End With

'1.Button "Planungsdaten" ins 1.Untermenue "Plannungsbasis ermitteln"
Set cbb = cbp1.Controls.Add(msoControlButton)
With cbb
.Style = msoButtonIconAndCaption
.Caption = "Planungsdaten eingeben"
.OnAction = "Planungsdaten_oeffnen"
End With
'2.Button "Benchmarks" ins 1.Untermenue "Planungsbasis ermitteln"
Set cbb = cbp1.Controls.Add(msoControlButton)
With cbb
.Style = msoButtonIconAndCaption
.Caption = "Benchmarks auswählen"
.OnAction = "Benchmarks_oeffnen"
End With
'3.Popup erstellen
Set cbp = CB.Controls.Add(msoControlPopup)
'Name 3.Popup
cbp.Caption = "Startseite"
'5. Button ins 3.Popup
Set cbb = cbp.Controls.Add(msoControlButton)
With cbb
.Style = msoButtonIconAndCaption
.Caption = "Startseite"
.BeginGroup = True
.FaceId = 1
.OnAction = "Startseite_oeffnen"
End With
'Commandbar anzeigen
With CB
.Enabled = True
.Visible = True
.Position = msoBarTop
End With
End Sub
Sub Planungsdaten_oeffnen()
Worksheets("Planungsdaten").Activate
End Sub
Sub Benchmarks_oeffnen()
Worksheets("Benchmarks").Activate
End Sub
Sub Startseite_oeffnen()
Worksheets("startseite").Activate
End Sub
Sub Commandbar_loeschen()
On Error Resume Next
CommandBars(CBNAME).Delete
End Sub
DIESE ARBEITSMAPPE:
Option Explicit

Private Sub Workbook_Open()
Dim intLeSp1, intSp1 As Integer 'Letzte Spalte, Spalte(Tabelle: Benchmarks)
intLeSp1 = Worksheets("Benchmarks").Range("IV2").End(xlToLeft).Column
'Letzte Spalte ermitteln
For intSp1 = 9 To intLeSp1
With Worksheets("Planungsdaten").ListBox_Lager
.AddItem Worksheets("Benchmarks").Cells(2, intSp1)
'Eintrag in Listbox einfügen
End With
Next intSp1
'Nächster Eintrag
End Sub

TABELLE BENCHMARKS:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim intlecolumn As Integer 'Letzte Spalte
Dim intcolumn As Integer 'Spalte
If Target.Row = 2 Then 'Zielzeile 2
intlecolumn = Worksheets("Benchmarks").Range("IV2").End(xlToLeft).Column
'Letzte Spalte ermitteln
Worksheets("Planungsdaten").ListBox_Lager.Clear
'Einträge löschen
For intcolumn = 9 To intlecolumn
With Worksheets("Planungsdaten").ListBox_Lager
.AddItem Worksheets("Benchmarks").Cells(2, intcolumn)
'Eintrag in Listbox einfügen einfügen
End With
Next intcolumn
'Nächster Eintrag
End If
End Sub

TABELLE PLANUNGSDATEN:
Option Explicit

Private Sub ListBox_Lager_Change()
Dim intindex As Integer '1.Zähler ListBox_Lager
Dim intZe As Integer 'Zeile
Dim Formel As String 'Formel Mittewert
Dim i As Integer '2.Zähler Listbox_Lager
Dim t1 As String
Dim t2 As String
Dim x As Integer
Range("E75:E155").Value = ""
'Einträge löschen
intZe = 75
'Startzeile
For intindex = 0 To ListBox_Lager.ListCount - 1
'Obergrenze der Schleife festlegen
If ListBox_Lager.Selected(intindex) = True Then
'Prüfen, ob ein Eintrag ausgewählt ist
Cells(intZe, 5).Value = ListBox_Lager.List(intindex)
'Übertragen der ausgewählten Einträge
intZe = intZe + 1
'in die nächste zeile schreiben
End If
Next intindex
Formel = "=wenn(h:h=0;" & Chr(34) & Chr(34) & ";("
'Formel: = wenn spalte h = 0; dann "" ;sonst Mittelwert aus den
'in der ListBox_Lager selektierten Daten
'Mittelwert wird aus (n1+n2+n3+...nx)/x) berechnet.
'Anfang der Formel: =wenn(h:h=0;"";(...
For i = 0 To ListBox_Lager.ListCount - 1
'Alle LIstBox-Einträge prüfen, ob sie markiert sind.
If ListBox_Lager.Selected(i) Then
'wenn markiert, dann...
t1 = "=ADDRESS(9," & i + 9 & ",4,,""Benchmarks"")"
'relative Adresse der Spalte in Tabelle "Benchmarks" ermitteln
'siehe Excel-Funktion "Adresse"
Formel = Formel & Evaluate(t1) & "+"
'Durch Evaluate wird der Ausdruck in t berechnet
'an die Adresse des ListBox-Eintrags wird ein "+" drangehängt
x = x + 1
'Anzahl der Elemente berechnen
End If
Next i
Formel = Left(Formel, Len(Formel) - 1) & ")/" & x & ")"
'letztes "+" im Formel-String löschen und Formel abschließen
'durch hinzufügen von ...)/x
'gesamter Formel-String lautet somit: =Wenn(h:h=0;"";(n1+n2+n3+...+nx)/x)
If Len(Formel) > 1024 Then MsgBox "Formel zu lang": Exit Sub
'MsgBox, wenn Formel-String zu lang
If x > 0 Then
Range("j9:j72").FormulaLocal = Formel
'Formel-String in Tabelle "Planungsdaten" reinschreiben
Else
Range("j9:j72").FormulaLocal = ""
End If
End Sub

Anzeige
AW: Problem bei ListBox Ansteuerung
04.08.2005 17:19:10
Leo
Hi,
schmeiß die Mappe in den Müll, die hat ne Macke.
mfg Leo
AW: Problem bei ListBox Ansteuerung
04.08.2005 17:38:50
Sören
hi leo,
und dann? ist alles weg, oder was?
gruß,
sören
AW: Problem bei ListBox Ansteuerung
04.08.2005 18:08:19
Leo
Hi,
du wirst sowieso nicht glücklich mit der Datei, also warum noch mehr mehr Arbeit investieren?
mfg Leo
AW: Problem bei ListBox Ansteuerung
04.08.2005 18:37:19
Sören
hi leo,
fehler ist beseitigt! ein tabellenblatt meiner mappe war fehlerhaft! ich habs gefunden, indem ich stück für stück meine mappe kopiert habe. habs jetzt gelöscht und neu erstellt -
jetzt funktioniert!!! sehr sehr merkwürdig...
schönen abend noch.
gruß
Also erledigt!
04.08.2005 19:45:53
Leo
d
AW: Also erledigt!
04.08.2005 20:47:35
Sören
hey leo,
das darf nicht wahr sein!!!?
gleicher fehler schon wieder!!!
ich hab dir jetzt mal die mappe hochgeladen!
Weißt du rat, woran das liegt?
also, wie gesagt:
wenn du button "weg" klickst, erscheint die selbsterstellte menüleiste. dann auf lagerplanung , datenbasis erfassen, planungsdaten eingeben. wenn du jetzt in der listboxwas anklickst, anschließend über die menüleiste ein anderes tabellenblatt aufrufst und wieder übers menü zurückgehst - ist die listbox verschwunden! erst wenn du ins blatt klickst, erscheint sie - ist aber nicht ansteuerbar!!! erst wieder nach wiederholtem tabellenblattwechsel!
wenn man aber über die registertabs geht, tritt das problem NICHT auf!
kannst du mir helfen?
gruß,
sören
https://www.herber.de/bbs/user/25335.xls
Anzeige
AW: Also erledigt!
04.08.2005 21:14:56
Leo
Hi,
ich hab hier kein Excel 2003 nur 2002, da ist alles ok.
Welchen Servicepack hast du installiert?
mfg Leo
AW: Also erledigt!
04.08.2005 21:25:20
Sören
Hi leo,
sp2 hab ich! liegt das daran?
gruß,
sören
AW: Also erledigt!
04.08.2005 21:53:24
Sören
hi,
hast du nicht noch eine idee? an sp oder office version kanns eigentlich nicht liegen, da ich das problem im büro ebenfalls habe. und da arbeite ich mit excel 2000!
das ist echt komisch, da es über die registerkarten nicht auftritt!!! da ich aber sehr viele blätter in meinem tool haben werde, bin ich auf meine menüleiste angewiesen.
kann man das denn irgendwie anders machen?
ich bin für jeden rat dankbar!
gruß,
sören
Anzeige
AW: Also erledigt!
05.08.2005 00:25:48
Leo
Hi,
ich kann dir nicht weiterhelfen, da der Fehler bei mir nicht nachvollziehbar ist.
mfg Leo
AW: Also erledigt!
05.08.2005 08:23:47
Sören
Hallo leo,
geht klar. ich weiß mittlerweile glaube ich auch voran das liegt:
und zwar an der "teilung" des fensters! (sprich "fixierung")
wenn ich die nämlich rausnehme, tritt das phänomen nicht auf!!!
gruß,
sören
AW: Also erledigt!
05.08.2005 09:46:45
Sören
Hi leo,
hab jetzt fehlerbeseitigung "von-hinten-durch-die-brust-ins-auge" gemacht...

Private Sub Worksheet_Activate()
Range("A7").Select
ActiveWindow.FreezePanes = True
End Sub


Private Sub worksheet_deactivate()
ActiveWindow.FreezePanes = False
somit tritt diese mysterium nicht mehr auf!
gruß und schönes we
sören

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige