Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Tabelle nach Comboboxen und deren Inhalt Durchsuchen
zurück: excel vba office 2007 weiter: Makro funktioniert nicht wie er soll. Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Kreser06
Neuling


Verfasst am:
24. Feb 2009, 14:08
Rufname:

Tabelle nach Comboboxen und deren Inhalt Durchsuchen - Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Hallo, habe folgendes Problem:
Ich habe eine Tabelle(Eintrag) dort müssen zwei ComboBoxe erstellt werden mit Monaten und Jahren.
Frage:
Was muss ich schreiben damit die Tabelle(Eintrag) beim Öffnen der Mappe
nach diesen beiden ComboBoxen und deren Inhalt durchsucht wird, und wenn die vorhanden sind, dann soll nix unternommen werden, sonst muss es erstellt werden.

Diesen Code Habe ich für cbx Jahre:
Code:
Public Sub erstellecmbJahr() 'Erstelle Macro zur Auswahl des Jahres
    Dim cbjahr As MSForms.ComboBox
    Dim wksEintrag As Worksheet
    Set wksEintrag = Tabelle2
    Set cbjahr = wksEintrag.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=360, Top:=10, Width:=75, Height:=25).Object
    With cbjahr
        .Name = "cmbJahr"
        .Font.Bold = True
        .Font.Italic = True
        .Font.Name = "Arial"
        .Font.Size = 14
        .ListRows = 12
        .TextAlign = fmTextAlignCenter
        .ForeColor = (&H404040)
    End With
    Call fuellecmbJahr
End Sub
Public Sub fuellecmbJahr() 'Die benötigten Jahre in die ComboBox füllen

    Dim cbjahr As MSForms.ComboBox
    Dim intJahr As Integer
    Dim wksEintrag As Worksheet
    Set wksEintrag = Tabelle2
    Set cbjahr = wksEintrag.OLEObjects("cmbJahr").Object
        intJahr = 2000
    For intJahr = 1 To 1001
        cbjahr.Value = Year(Date)
        cbjahr.AddItem 1999 + intJahr
    Next
End Sub

Und diesen Für Monate:
Code:
Public Sub erstellecmbMonat() 'Erstelle Macro zur Auswahl des Monats
    Dim cbMonat As MSForms.ComboBox
    Dim wksEintrag As Worksheet
    Set wksEintrag = Tabelle2
    Set cbMonat = wksEintrag.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=240, Top:=10, Width:=120, Height:=25).Object
    With cbMonat
        .Name = "cmbMonat"
        .Font.Bold = True
        .Font.Italic = True
        .Font.Name = "Arial"
        .Font.Size = 14
        .ListRows = 12
        .TextAlign = fmTextAlignCenter
        .ForeColor = (&H404040)
    End With
    Call fuellecmbMonat
End Sub
Public Sub fuellecmbMonat() 'Die benötigten Monate in die ComboBox füllen
    Dim wksEintrag As Worksheet
    Dim cbMonat As MSForms.ComboBox
    Dim MonatHeute As String
    MonatHeute = Format(Now, "MMMM")
    Set wksEintrag = Tabelle2
    Set cbMonat = wksEintrag.OLEObjects("cmbMonat").Object
    With cbMonat
        .AddItem "Januar"
        .AddItem "Februar"
        .AddItem "März"
        .AddItem "April"
        .AddItem "Mai"
        .AddItem "Juni"
        .AddItem "Juli"
        .AddItem "August"
        .AddItem "September"
        .AddItem "Oktober"
        .AddItem "November"
        .AddItem "Dezember"
        .Value = MonatHeute
    End With
End Sub


Für eure Hilfe schon mal Vielen Dank.
Kreser06
Neuling


Verfasst am:
24. Feb 2009, 16:41
Rufname:


AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Kann mir denn keiner helfen?
Phelan XLPH
Fortgeschritten


Verfasst am:
24. Feb 2009, 17:01
Rufname: Phelan

AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Hallo,

Wenn du die CB's nur in Tabelle 2 überprüfen willst dann den code
ins codefenster von tabelle2 und Aufrufen über

Code:
Private Sub Worksheet_Activate()
combVorhanden
End Sub


oder beim Öffnen der Mappe
Code:
Private Sub Workbook_Open()
combVorhanden
End Sub




Code:
Sub combVorhanden()
Dim objOLE As OLEObject
Dim bolCmbJahrExist As Boolean
Dim bolCmbMonatExist As Boolean

For Each objOLE In Worksheets("Tabelle2") 'Anpassen
    If objOLE.progID = "Forms.ComboBox.1" Then
        If objOLE.Name = "cmbJahr" Then bolCmbJahrExist = True
        If objOLE.Name = "cmbMonat" Then bolCmbMonatExist = True
    End If
Next

If bolCmbJahrExist = False Then erstellecmbJahr
If bolCmbMonatExist = False Then erstellecmbMonat
End Sub

_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
Kreser06
Neuling


Verfasst am:
24. Feb 2009, 17:35
Rufname:

AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Danke das probier ich gleich aus
Kreser06
Neuling


Verfasst am:
24. Feb 2009, 17:43
Rufname:


AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Hallo, mit diesem code habe ich laufzeitfehler '438'.
was könnte das sein?
Kreser06
Neuling


Verfasst am:
24. Feb 2009, 18:51
Rufname:

AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Beim debuggen wird diese Zeile Markiert

Code:
For Each objOLE In Worksheets("Eintrag") 'Anpassen


was muss da noch angepasst werden?




P.S. Ich bin totaler newby bei VBA und die Excel-Hilfe hilft mir garnix.
Phelan XLPH
Fortgeschritten


Verfasst am:
24. Feb 2009, 19:06
Rufname: Phelan

AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Das muss natürlich so heißen:
Code:
For Each objOLE In Worksheets("Eintrag").OLEObjects

_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
Kreser06
Neuling


Verfasst am:
24. Feb 2009, 19:15
Rufname:

AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Alles klar vielen Dank.
Das habe ich mir schon gedacht das da was hintendran gehört, aber ich dachte wenn ich ein Punkt dahinter setze, dann würde mir menü angezeigt wo man auswählen kann.
Kreser06
Neuling


Verfasst am:
25. Feb 2009, 21:48
Rufname:

AW: Combobox nach desen Inhalt Durchsuchen - AW: Combobox nach desen Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Hallo, habe schon wieder ein Problem.

wie schon oben erwähnt, habe ich in einer Tabelle 2 Cmb's.
Mit dem code vom Glücksritter76 starte ich die überprüfung(ob die cmb's existieren)
den code habe ich bißchen angepasst:
Code:
Sub comb_In_Eintrag_Vorhanden()
Dim objOLE As OLEObject
Dim bolCmbJahrExist As Boolean
Dim bolCmbMonatExist As Boolean

For Each objOLE In Worksheets("Eintrag").OLEObjects
    If objOLE.progID = "Forms.ComboBox.1" Then
        If objOLE.Name = "cmbJahr" Then bolCmbJahrExist = True
            fuellecmbJahr
        If objOLE.Name = "cmbMonat" Then bolCmbMonatExist = True
            fuellecmbMonat
    End If
Next

If bolCmbJahrExist = False Then erstellecmbJahr
If bolCmbMonatExist = False Then erstellecmbMonat
End Sub


So jetzt zu Problem:
Beim ersten start der Mappe, werden die cmb's erstellt und die Daten richtig gefüllt.
Aber beim zweitem mal, nachdem ich die Mappe gespeichert, geschloßen und wieder geöffnet hab, werden in cmbMonat die monaten doppelt geschrieben.
(habe dann praktisch 24 Monate), Beim dritten mal nicht, die bleiben dann bei 24.

Ich denke das liegt an dem code zum füllen des Monats(fuellecmbMonat), aber da ich noch nicht viel ahnung davon hab, brauche ich eure Hilfe.

Ein ComboBox hat auch die Eigenschaft .List Was kann man damit machen? Kann man evtl. mit der funktion prüfen ob der cmb schon befüllt ist?Wenn ja, dann wäre es sehr nett, wenn mir einer das schreiben könnte.


Ich hoffe ihr könnt mir folgen.
Phelan XLPH
Fortgeschritten


Verfasst am:
26. Feb 2009, 09:12
Rufname: Phelan

AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

Hallo,

die boxen werden in deinem Bsp. so oft gefüllt wie die Schleife durchläuft.

fürs einmalige befüllen müssen die aus der schleife raus direkt
nach eventuellem Erstellen Der Boxen!

Code:
Sub comb_In_Eintrag_Vorhanden()
Dim objOLE As OLEObject
Dim bolCmbJahrExist As Boolean
Dim bolCmbMonatExist As Boolean

For Each objOLE In Worksheets("Eintrag").OLEObjects
    If objOLE.progID = "Forms.ComboBox.1" Then
        If objOLE.Name = "cmbJahr" Then bolCmbJahrExist = True
        If objOLE.Name = "cmbMonat" Then bolCmbMonatExist = True
    End If
Next

If bolCmbJahrExist = False Then erstellecmbJahr
If bolCmbMonatExist = False Then erstellecmbMonat
fuellecmbJahr
fuellecmbMonat
End Sub

_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
Kreser06
Neuling


Verfasst am:
26. Feb 2009, 21:25
Rufname:


AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen - AW: Tabelle nach Comboboxen und deren Inhalt Durchsuchen

Nach oben
       Version: Office 2007

hallo, Glücksritter76, vielen Dank für deine Hilfe, aber leider funktioniert das nicht, den (erstellecmbJahr) ist mit (fuellecmbJahr)
verknüpt, also nach dem "erstellen" wird sofort "gefüllt".
1.
Code:
Sub combVorhanden()
Dim objOLE As OLEObject
Dim bolCmbJahrExist As Boolean
Dim bolCmbMonatExist As Boolean

For Each objOLE In Worksheets("Tabelle2") 'Anpassen
    If objOLE.progID = "Forms.ComboBox.1" Then
        If objOLE.Name = "cmbJahr" Then bolCmbJahrExist = True
        If objOLE.Name = "cmbMonat" Then bolCmbMonatExist = True
    End If
Next

If bolCmbJahrExist = False Then erstellecmbJahr
If bolCmbMonatExist = False Then erstellecmbMonat
End Sub

Mit diesem code ist das Problem, dass wenn ich die Mappe öffne, wird ja erst geprüft ob ein ComboBox exiestiert, und wenn er exiestiert dann wird nichts gemacht. Der Code ist in dem Fall zwar da, aber da sind keine Daten mehr drin.

Deswegen habe ich das fuellecmbJahr und fuellecmbMonat hinzugefügt.Und hier werden Monate und Jahre doppelt geschrieben.

Wie kann ich prüfen ob die Liste vorhanden ist oder nicht? Oder auf doppelte Daten prüfen und die dann löschen?

Kann man eigentlich die Liste nicht speichern lassen Question , wie funktioniert das wenn ich die Daten manuell in die ComboBox eintragen will, es MUSS ja irgendwie gespeichert werden oder nicht??? Confused Question Confused

Sorry, dass ich nerve, aber ich bin auf eure Hilfe angewiesen, allein schafe ich es nett.

Danke im Voraus
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Werte von einer Tabelle in eine andere Übernehmen 11 Blue_Whirlwind 2311 22. Mai 2005, 17:18
Blue_Whirlwind Werte von einer Tabelle in eine andere Übernehmen
Keine neuen Beiträge Excel Formeln: Kann man 4 Übereinstimungen in einer 2 Tabelle ausgeben?? 2 Blue_Whirlwind 790 03. Mai 2005, 20:08
Arnim Kann man 4 Übereinstimungen in einer 2 Tabelle ausgeben??
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Excel Formeln: Erinnerungs Mail anstossen aus Excel Tabelle in Lotus Notes 1 Gast 987 03. Mai 2005, 14:48
fl618 Erinnerungs Mail anstossen aus Excel Tabelle in Lotus Notes
Keine neuen Beiträge Excel Formeln: Daten von einer Tabelle in eine andere übernehmen 4 bigbomb 2436 04. Apr 2005, 14:18
fl618 Daten von einer Tabelle in eine andere übernehmen
Keine neuen Beiträge Excel Formeln: inhalt einer zelle anhand von verweisen auslesen 5 vortax 1501 02. Apr 2005, 23:04
Gast inhalt einer zelle anhand von verweisen auslesen
Keine neuen Beiträge Excel Formeln: Brauche für ein Dart-DYP-Turnier eine Tabelle 13 Chef 8459 26. März 2005, 16:16
ae Brauche für ein Dart-DYP-Turnier eine Tabelle
Keine neuen Beiträge Excel Formeln: Platzierungen aus einer Tabelle 24 Konz 3720 14. März 2005, 20:11
Konz Platzierungen aus einer Tabelle
Keine neuen Beiträge Excel Formeln: Dateinamen für zu öffnende Tabelle in Zelle vorgeben, wie? 4 excessor 1698 24. Jan 2005, 22:52
A.Knecht Dateinamen für zu öffnende Tabelle in Zelle vorgeben, wie?
Keine neuen Beiträge Excel Formeln: Text in andere Tabelle übertragen 2 freddy-krueger 3737 02. Dez 2004, 11:16
freddy-krueger Text in andere Tabelle übertragen
Keine neuen Beiträge Excel Formeln: Wert aus einer anderen Tabelle holen 2 =KB=Shorty 4867 17. Nov 2004, 21:22
=KB=Shorty Wert aus einer anderen Tabelle holen
Keine neuen Beiträge Excel Formeln: Anzahl bei 2 Bedingungen aus Tabelle berechnen 6 Satanico 1723 21. Okt 2004, 14:48
Satanico Anzahl bei 2 Bedingungen aus Tabelle berechnen
Keine neuen Beiträge Excel Formeln: Daten/Tabelle tabellenübergreifend 0 markus.wilke 6170 15. Okt 2004, 16:45
markus.wilke Daten/Tabelle tabellenübergreifend
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web