Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Dynamische Combobox

Frage Entwicklung VB for Applications

Mitglied: Hummel85

Hummel85 (Level 1) - Jetzt verbinden

14.09.2009 um 22:01 Uhr, 10410 Aufrufe, 7 Kommentare

Hab lange keine Excelmacros mehr geschrieben darum dachte ich das ich mal wieder hier vorbei schaue.

Ich wollt anhand eines Worksheets welches nur Name enthällt eine Combobox befüllen. Die anzahl an Namen kann sich jederzeit ändern darum das ganze auch dynamisch.

Leider funktionieren meine ganzen ansätze nicht. Eigentlich wollt ich anfangen mit einer Schleife die kontrolliert ob der ihnalt der Zelle <> "" (also nicht leer) ist. Wenn der was in der Zelle findet soll der das in eine Variable schreiben und dann an die Combobox übergeben werden. Alles was ich versucht habe hat dazu geführt das nichts in der ComboBox steht. Leider habe ich jetzt alles einfach gelöscht weil ich so sauer war das ich das nicht hinbekommen habe und kann deshalb nicht meine ansätze posten.


Ich hoffe ihr könnt mir helfen.

MfG Sebastian
Mitglied: exchange
14.09.2009 um 22:33 Uhr
Hallo,
deinen Ansatz hätte ich jetzt als "Semi Pro" auch nicht anders in Delphi gelöst.

Schleife bis Zeilenende bzw. Inhalt = "" und dann die Combobox mit AddItem füllen.

fertig.

Gruss
Heiko
Bitte warten ..
Mitglied: 76109
15.09.2009 um 18:23 Uhr
Hallo zusammen!

Wenn sich die Liste in einer Tabelle befindet, dann eher so:
01.
'ComboBox in UserForm 
02.
With UserForm1.ComboBox1 
03.
    .RowSource = Sheets("Tabelle1").Range("A1").CurrentRegion.Address 
04.
    .ListIndex = 0 
05.
End With 
06.
 
07.
'ComboBox in Worksheets einbetten 
08.
With ComboBox1 
09.
    .ListFillRange = Range("A1").CurrentRegion.Address 
10.
    .ListIndex = 0 
11.
End With
Gruß Dieter
Bitte warten ..
Mitglied: Hummel85
18.09.2009 um 03:20 Uhr
Fast am Ziel.

Jedoch nimmt der den inhalt der Tabelle die ich ausgewählt habe. Ich habe 4 Worksheets in der Excel Datei.

Die 1. ist die übersicht. In der 3.( die "name" heißt) befinden sich die namen die der auslesen soll.

Ich habe versucht das abzuändern aber es passiert nix. Mach ich was falsch?

01.
'ComboBox in UserForm  
02.
With UserForm1.ComboBox1  
03.
    .RowSource = Sheets("name").Range("A1").CurrentRegion.Address  
04.
    .ListIndex = 0  
05.
End With 
Bitte warten ..
Mitglied: 76109
18.09.2009 um 08:00 Uhr
Hallo Hummel85!

Bei der Code-Auswahl
UserForm1.ComboBox1
gehe ich davon aus, dass Du eine User-Form im VB-Editor erstellt hast.

Dann bleiben erst mal die Fragen:
1. Ist der Name Deines Formulars "UserForm1"?
2. Ist der Name Deiner Combo-Box "Combo-Box1"?
3. Wurde der Code vor öffnen der UserForm ausgeführt (initialisiert)?

Also, wenn es sich um eine User-Form im VB-Editor handelt, dann kopiere diesen Quelltext
01.
Private Sub UserForm_Initialize() 
02.
    With ComboBox1 
03.
        .RowSource = Sheets("name").Range("A1").CurrentRegion.Address 
04.
        .ListIndex = 0 
05.
    End With 
06.
End Sub
an den Anfang vom UserForm-Code. Dadurch wird die Combo-Box automatisch vor dem Öffnen der User-Form initialisiert.

Gruß Dieter
Bitte warten ..
Mitglied: Hummel85
18.09.2009 um 21:56 Uhr
Erstmal zu deinen Fragen.

zu 1.: Ja
zu 2.: Ja
zu 3.: Ja

Problem ist das der den inhalt aus der ausgewählten Tabelle nimmt.

Funktionieren würde es mit

01.
Private Sub UserForm_Initialize() 
02.
 
03.
Worksheets("name").Activate 
04.
ActiveCell.CurrentRegion.Select 
05.
 
06.
    With ComboBox1 
07.
        .RowSource = Sheets("name").Range("A1").CurrentRegion.Address 
08.
        .ListIndex = 0 
09.
    End With 
10.
 
11.
Worksheets("1").Activate 
12.
ActiveCell.CurrentRegion.Select 
13.
 
14.
 
15.
End Sub
Gibt es eine andere Lösung bei der ich in deinem Code den befehl CurrentRegion umarbeite?
Bitte warten ..
Mitglied: 76109
19.09.2009 um 00:26 Uhr
Hallo Hummel85!

Ups, mein Fehler. Da habe ich doch glatt vergessen den Tabellennamen mit anzugeben

So sollte es jetzt funktionieren:
01.
Private Sub UserForm_Initialize() 
02.
    Dim Wks As Worksheet 
03.
     
04.
    Set Wks = Sheets("name") 
05.
     
06.
    With ComboBox1 
07.
        .RowSource = Wks.Name & "!" & Wks.Range("A1").CurrentRegion.Address 
08.
        .ListIndex = 0 
09.
    End With 
10.
End Sub
Alternativ auch so:
01.
.RowSource = Wks.Name & "!A1:A" & Wks.Cells(Wks.Rows.Count, "A").End(xlUp).Row
Gruß Dieter
Bitte warten ..
Mitglied: Hummel85
20.09.2009 um 01:32 Uhr
Is genau das was ich gesucht habe.

Vielen dank. Alles zu meiner zufriedenheit gelöst.
Bitte warten ..
Ähnliche Inhalte
PHP
HTML u. PHP: Combobox dynamisch mit Datenbankeinträgen befüllen
gelöst Frage von PhobozPHP2 Kommentare

Hallo, Frohes Neues erstmal :) siehe Titel, siehe mein Code: was ist falsch? Grüße Phoboz

Visual Studio
Ein ComboBox ändert andere Combobox-Selected Item
Frage von Teddy74Visual Studio3 Kommentare

Guten morgen, direkt ins Problem: Ich habe ein DataSet mit Liefer Termine. Kunde Soll 5 Liefertermine auswählen können. Dafür ...

Microsoft Office
Combobox verknüpfen
Frage von GundelputzMicrosoft Office1 Kommentar

Hallo alle zusammen, ich möchte mit Excel 2010 und VBA eine Tabelle durchsuchen. In der Tabelle sind Spalten wie ...

Batch & Shell
Powershell Combobox
gelöst Frage von PeterzBatch & Shell2 Kommentare

Hallo, wie kann ich bei einer Combobox und/oder einer Messagebox das rechts oben befindliche Kreuz (weiß auf rotem Grund) ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 9 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 10 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 12 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 17 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...