Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  alle comboboxen in Tabellenblatt greifen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   alle comboboxen in Tabellenblatt greifen (1305 mal gelesen)
runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 24. Mrz. 2006 12:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

und weil's so schön ist, gleich die nächste Frage (auch hier hab ich schon seit Tagen gegoogelt etc.)

Ich habe ein Datei mit über 30 Tabellenblätter mit je ca. 25 comboboxen und anderem Schnick-Schnack.
Jetzt möchte ich am Ende des Monats Teile der Datei "leeren".
Das mache ich momentan noch mit

        ActiveSheet.ComboBox1.ListIndex = 0
        ActiveSheet.ComboBox2.ListIndex = 0
        usw...

Das kann aber doch so nicht Sinn sein.    Gibt es da nicht ne Abfrage wie innerhalb einer Userform:

Private Sub UserForm_Initialize()
Dim ctrl As Control
For Each ctrl In Me.Controls
  If TypeOf ctrl Is MSForms.ComboBox Then
  ctrl.Style = 2
  End If
Next
End Sub

evtl. sogar mit der Erweiterung, daß das Makro die einzelnen Tabellenblätter (aber nur Blatt 1 - 31, nicht Blatt 32-35) alleine durchläuft?

Ich bin für jeden Vorschlag dankbar, da wahrscheinlich jede Verbesserung in den codes meine Geschwindigkeitsprobleme    in dieser Datei verringern würde..

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 24. Mrz. 2006 15:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich

Hallo Nicole,

versuch's mal mit sowas wie unten, allerdings bei deinen 30 Blättern ..., hm das ist ne ganz schnöde Index-Schleife, ich weiss nicht wie/wo diese 30 Blätter stehen, Anfang/Ende/zusammenhängend etc., also aufpassen dass der Index hinhaut.

Gruss Nancy
--

Code:
Sub x()
    Dim sh As Shape, i As Byte
    'For i = 1 To 30
        For Each sh In Sheets(i).Shapes
            If TypeName(sh.DrawingObject.Object) = "ComboBox" Then _
            sh.DrawingObject.Object.ListIndex = 0
        Next
    'Next
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Mrz. 2006 11:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

vorweg schonmal vielen Dank für Deine Mühe.

Zitat:
..., hm das ist ne ganz schnöde Index-Schleife,

ich weiß ja auch nicht warum, aber ich bin für Schleifen wohl zu blöd  
will hier aber nicht jammern und keinesfalls aufgeben, irgendwann kommt der Tag, ab dem nennt man mich Schleifenkönigin 

Zum Lösungsvorschlag:
Leider funktioniert Dein Makro nicht so, wie es sollte:

Laufzeitfehler 438
Objekt unterstützt diese Methode nicht
bei der Zeile

  If TypeName(sh.DrawingObject.Object) = "ComboBox" Then

lasse ich die "" weg, dann kommt als hint "Combobox = leer", läuft auch nicht.
Es ist also immer noch mein Standard-Prob. Ich brauche den passenden Ausdruck.
(Name anstatt TypeName geht auch nicht, auch nicht, wenn ich vorher versuche, mir diesen Ausdruck als String geben zu lassen (er will nur Object oder Variant))
Die Schleife muß von 1-31, das ist alles OK

Wenn also noch jemand Zeit und Lust hat... 

Gruß,
Nicole


------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Mrz. 2006 13:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich

Nicole, kannst ggf. mal eine Mappe mit 2-3 dieser Combo's uppen?

Gruss Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Mrz. 2006 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


ComboBox-Prob.zip

 
Hallo Nancy,

Die "richtige" Datei kann ich leider aus verschiedenen (Daten...)Gründen nicht für die Allgemeinheit hochladen und bis ich die entkernt habe ist's Sommer...
Daher eine andere, viel schlankere, das Prinzip ist aber das gleiche

Makro 1 zeigt, wie's im Moment passiert.
Makro 2 zeigt, wie's in einer Userform laufen könnte,
Makro 3 soll die Allgemeine Lösung werden, da drin Dein Ansatz von heute Morgen

Diese sehr unschöne Häufung der ComboBox_Change-Ereignisse auf den Tabellenblättern würde ja bei einer Lösung des Problems ebenfalls optimiert werden können, oder?

Gruß,
Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Mrz. 2006 16:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,
ja, es sollen ComboBoxen sein, da ich in der anderen Datei u.a. ein komplettes Leistungsverzeichnis einlese, und meine Bauleiter sich die ausgeführten Positionen aus eben diesen Boxen raussuchen sollen.
Das ganze Elend ist ja nur entstanden, weil sich die o.g. Herren möglichst viel Tipparbeit sparen wollen ("wo ist denn jetzt schon wieder das E? Gestern war es doch noch da..."  )
Ich weiß, daß Excel generell nicht das Richtige für mein Anliegen ist, Access oder gleich alles neu in VB wäre da vermutlich besser, aber jetzt haben wir in Excel angefangen, jetzt ziehen wir das auch durch...
Außerdem kann ich weder Access noch VB und Excel geht Forum sei Dank grad so   
Gruß,
Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2896
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 27. Mrz. 2006 16:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich

;-) so sorry, aber ich habe meinen Beitag gelöscht, da Gültigkeit nicht auf ein anderes Tabellenblätter zugreift ;-)

Das bei dir Nancys Bsp. nicht läuft, liegt wohl daran das du in der Vba-Umgebung den Verweis auf Microsoft Forms 2.0 Object Libary setzen musst?

------------------
Am Anfang war kein Licht - und Vater blickte Kalt
Miss Brauch

[Diese Nachricht wurde von Thomas Harmening am 27. Mrz. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 339
Registriert: 16.10.2004

erstellt am: 27. Mrz. 2006 18:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich


ComboBox-Prob.zip

 
Hallo Nicole,

eine Klasse für die Boxen und ne kleine Variable und schon ...   

------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2896
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 27. Mrz. 2006 19:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich

Nepumuk hat ja eine Elegante Lösung für dein Problem ;-)

was mir noch aufgefallen ist:

Code:
Private Sub ComboBox4_Change()
        Cells(11, 1) = ComboBox4.Value
        If ComboBox4.ListIndex = -1 Then
        Cells(11, 2) = "keine Kostenstelle vorhanden"
        Else
        Cells(11, 2) = Cells(ComboBox4.ListIndex + 4, 13).Value
        End If
End Sub
Würde das nicht auch seinen Zweck erfüllen - ? so ohne Schleifen

------------------
Am Anfang war kein Licht - und Vater blickte Kalt
Miss Brauch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bst
Mitglied



Sehen Sie sich das Profil von bst an!   Senden Sie eine Private Message an bst  Schreiben Sie einen Gästebucheintrag für bst

Beiträge: 192
Registriert: 31.08.2004

.

erstellt am: 27. Mrz. 2006 22:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich

Abend Nepumuk,

> eine Klasse für die Boxen und ne kleine Variable und schon ...

Ohne Worte ;-)

CUSee You, Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 28. Mrz. 2006 10:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

@nepumuk:
toll, toll, toll!  Aber wie soll ich arme kleine VBA-Made denn auf sowas kommen ?
Laß uns in 20-30 Jahren noch mal über solche Dinge reden 
Trotzdem DANKE!  U's sind unterwegs! Jetzt muß ich das Ganze nur noch auf die andere Datei umschreiben.

@Thomas:
Gehen würde fast alles im Leben auch ohne Schleifen, läuft ja momentan auch, aber bei bis zu 30 + 15 comboboxen auf einem Blatt und 31 + 5 Blättern (andere Datei) ist das einfach unschön, das Auge programmiert ja schließlich mit   

Zitat:
Das bei dir Nancys Bsp. nicht läuft, liegt wohl daran das du in der Vba-Umgebung den Verweis auf Microsoft Forms 2.0 Object Libary setzen musst?

auf die Gefahr hin, daß ich mich lächerlich mache: aber wo/wie mache ich das?

Gruß,
Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2896
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 28. Mrz. 2006 12:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für runkelruebe 10 Unities + Antwort hilfreich

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 28. Mrz. 2006 13:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Thomas, aber das war aktiviert, kann also nicht der Grund gewesen sein.

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz