Collapse column

Autor Thema: Office 2010: Combobox VBA Hilfe  (Gelesen 519 mal)

Offline Jensinger

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Office 2010: Combobox VBA Hilfe
« am: Dezember 02, 2017, 18:18:05 Nachmittag »
Hallo Liebe Forumnutzer,
Ich bin neu und kenne mich nicht im Forum aus, daher bitte ich um Verständnis, wenn ich hier falsch sein sollte.
Viele von euch und vieles habe ich schon aus den Foren entnommen und lernen können, jedoch bin ich vielleicht zu ....   um meinen Fehler zu finden, denn ich habe folgendes Problem:

Excel: Tabellenblatt1 = Inhaltsverzeichnis Ta.2 bis Ta48 01.01 - 01.08 dann 02.1 - 02.8 usw.
auf Tabellenblatt1 ist eine Combobox eingebaut die Daten sind unter J1 Ta.Name 01.01 - ... eingetragen unter K1 sind die Tabellenblatt Namen von 01.1 - ... Von Zelle A1

Combobox hat zwei Spalten und Verlinkt ist sie auch zu den einzelnen Tabellenblättern, jedoch wird die Combobox nicht automatisch geleert beim zurück Navigieren.

Ich komme leider nicht weiter. Vielleicht Ihr. :)

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 947
  • Microsoft MVP
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2010: Combobox VBA Hilfe
« Antwort #1 am: Dezember 03, 2017, 10:36:41 Vormittag »
Hallo,

erstmal willkommen im Forum :-)

Ich muss allerdings sagen, dass ich von dem was Du geschrieben hast, so nicht viel nachvollziehen kann.
Am besten, Du lädst eine anonymisierte Beispielmappe hoch.

Gruß
Microsoft Most Valuable Professional (MVP) 2011 - 2018/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline Jensinger

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Antw:Office 2010: Combobox VBA Hilfe
« Antwort #2 am: Dezember 03, 2017, 17:21:24 Nachmittag »
Vielen Dank für die freundliche Nachricht. :)
Ich sende mal nen Code:

Private Sub ComboBox1_Change()

If ComboBox1.Text = Range("k1") Then Sheets("01.1").Activate
 If ComboBox1.Text = Range("k2") Then Sheets("01.2").Activate
 If ComboBox1.Text = Range("j3") Then Sheets("01.3").Activate
 If ComboBox1.Text = Range("j4") Then Sheets("01.4").Activate
 If ComboBox1.Text = Range("j5") Then Sheets("01.5").Activate
 If ComboBox1.Text = Range("j6") Then Sheets("01.6").Activate
 If ComboBox1.Text = Range("j7") Then Sheets("01.7").Activate
 If ComboBox1.Text = Range("j8") Then Sheets("01.8").Activate
 If ComboBox1.Text = Range("j9") Then Sheets("02.1").Activate
 If ComboBox1.Text = Range("j10") Then Sheets("02.2").Activate
 If ComboBox1.Text = Range("j11") Then Sheets("02.3").Activate
... bis 06.8
End Sub zum mit diesem Code Verlinke ich die Tabellenblätter.

Private Sub ComboBox1_GotFocus()
    ComboBox1.Value = ""
   
End Sub zm Leeren der Combobox.

jedoch leert er nicht. wenn ich von auf einem Tabellenblatt springe z.b. 01.2 von diesem zurück zum Inhaltsver. Combobox zeigt dann 01.2 an. Sie soll aber nichts anzeigen, denn beim Speichern und neu laden der Datei Verlinkt er sofort auf 01.2 dabei wird das Inhaltsverzeichnis als Startseite eingerichtet.
Liebe Grüße


Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 947
  • Microsoft MVP
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2010: Combobox VBA Hilfe
« Antwort #3 am: Dezember 04, 2017, 15:58:48 Nachmittag »
Hallo,

Du könntest den Code bei Dir insoweit verändern und ergänzen, wie hier unten aufgeführt. Eine Select-Anweisung ist besser
für die Auswahl der Aktionen geeignet. Zudem empfiehlt es sich Eigenschaften auch konkret anzusprechen und sich nicht auf den
Automatismus zu verlassen. Noch besser wäre es, auch eine vollständige Referenzierung vorzunehmen, aber ich kenne ja den
Tabellennamen nicht. ComboBox1.ListIndex = -1 setzt die ComboBox auf Keine Auswahl zurück. Damit das aber nicht wieder
getriggert wird, ist die Variable blnBypass vorhanden, die ausserhalb deklariert werden muss.
Code ist ungetestet.

Code: Visual Basic
  1. Dim blnBypass As Boolean
  2.  
  3. Private Sub ComboBox1_Change()
  4.  
  5.   If blnBypass Then
  6.    
  7.     Exit Sub
  8.    
  9.   End If
  10.  
  11.   blnBypass = True
  12.  
  13.   Select Case ComboBox1.Text
  14.  
  15.     Case Range("K1").Value
  16.      
  17.       Worksheets("01.1").Activate
  18.    
  19.     Case Range("K2").Value
  20.      
  21.       Worksheets("01.1").Activate
  22.      
  23. '   Case Range("J3").Value
  24. '
  25. '     Worksheets("01.3").Activate
  26. '   :
  27. '   :
  28.  
  29.     Case Else
  30.    
  31.   End Select
  32.  
  33.   ComboBox1.ListIndex = -1
  34.  
  35.   blnBypass = False
  36.  
  37. End Sub

Gruß
Microsoft Most Valuable Professional (MVP) 2011 - 2018/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline Jensinger

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Antw:Office 2010: Combobox VBA Hilfe
« Antwort #4 am: Dezember 05, 2017, 17:29:51 Nachmittag »
 Hallo,
 Vielen Dank für deine \   Eure Hilfe.
 Deinen Code habe ich heute gleich mal umgesetzt und ich muss sagen er funktioniert einwandfrei.
 Nun komme ich endlich weiter und ich kann weitere ihn in diese Datei einbringen, Jedoch ist mir aufgefallen dass ich eine Schulung in Sachen VBA benötige.

 Nochmals vielen Dank und liebe Grüße Jensinger