Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Auswahldialog





Frage

hallo also ich habe ein kleines Problem naja Problem kann man das nicht nennen aber ich komme einfach nicht drauf ich habe 2 Mappen in der erste Mappe stehen Namen Beispiel 1 Max Mustermann 2 Test Testmann use in der zweiten Mappe habe ich nun ein Auswahldialog eingefügt (Pfeilliste) hier kann ich jetzt (fragt mich nicht wie ich das geschafft habe alle Zahlen auswählen und einfügen (1,2,3) gibt es eine möglichkeit das wenn ich die Pfeilliste öffne mir in der Liste sagt was sich hinter der 1 Versteckt aber es soll wenn ich die 1 auswähle NUR die Zahl eingefügt werden! sprich ich öffne die pfeilliste bekomme alle Zahlen 1 Max Mustermann 2 Test Testmann aber wenn ich jetzt dann 1 Max Mustermann auswähle soll er mir nur die 1 einfügen für Antowrten würde ich mehr sehr freun!

Antwort 1 von coros

Hi Kadafi,

das wird mit dem DropDownfeld, das Du im Moment verwendest nicht funktionieren. Das muss man mit einem Kombinationsfeld aus der Symbolleiste Steuerelement realisieren. Öffne dazu über die Menüleisteneinträge Ansicht => Symbolleiste => Steuerlement-Toolbox die gleichnamige Symbolleiste. Klicke dann auf den 9. Button von links und ziehe mit der Maus in dem Tabellenblatt ein Rechteck auf. Danach klicke auf das 1. Symbol von links. Danach kopiere nachfolgenden VBA Code in das Tabellenblatt, in das DU gerade das Kombinationsfeld erstellt hast.


Option Explicit

Public letzte_Zeile_Spalte_A As Long, Wiederholungen As Long, _
ComboBox_Text_Gesichert As Variant, Zahlenlänge As Integer, _
SuchBegriff As String

Private Sub ComboBox1_Change()
letzte_Zeile_Spalte_A = Sheets("Tabelle1").Range("A65536").End(xlUp).Row
For Wiederholungen = 2 To letzte_Zeile_Spalte_A
SuchBegriff = Sheets("Tabelle1").Cells(Wiederholungen, 1) & " " & _
Sheets("Tabelle1").Cells(Wiederholungen, 2)
If ComboBox1.Text = SuchBegriff Then
Zahlenlänge = Len(Sheets("Tabelle1").Cells(Wiederholungen, 1))
End If
Next
Application.EnableEvents = False
Range("C1") = Mid(ComboBox1.Text, 1, Zahlenlänge)
Application.EnableEvents = True
End Sub

Private Sub Worksheet_Activate()
ComboBox_Text_Gesichert = ComboBox1.Text
ComboBox1.Clear
letzte_Zeile_Spalte_A = Sheets("Tabelle1").Range("A65536").End(xlUp).Row
For Wiederholungen = 2 To letzte_Zeile_Spalte_A
ComboBox1.AddItem Sheets("Tabelle1").Cells(Wiederholungen, 1) & " " & _
Sheets("Tabelle1").Cells(Wiederholungen, 2)
Next
ComboBox1.Text = ComboBox_Text_Gesichert
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
ComboBox_Text_Gesichert = ComboBox1.Text
ComboBox1.Clear
letzte_Zeile_Spalte_A = Sheets("Tabelle1").Range("A65536").End(xlUp).Row
For Wiederholungen = 2 To letzte_Zeile_Spalte_A
ComboBox1.AddItem Sheets("Tabelle1").Cells(Wiederholungen, 1) & " " & _
Sheets("Tabelle1").Cells(Wiederholungen, 2)
Next
ComboBox1.Text = ComboBox_Text_Gesichert
End Sub



Bei dem Code wird die Spalte A und B aus Tabellenblatt „Tabelle1“ in das Kombinationsfeld eingelesen und zwar immer dann, wenn das Blatt aktiviert wird oder eine Änderung in dem Blatt eintritt. Wenn Du nun einen Begriff aus dem Kombinationsfeld auswählst, wird zunächst ermittelt um welchen Begriff es sich handelt. Dann wird die Länge der Zahl in Tabellenblatt „Tabelle1“ in Spalte A ermittelt und es wird die Zahl wieder von dem Namen getrennt. Danach wird die Zahl in C1 ausgegeben. Die Länge der Zahl ermittele ich deshalb, da ich nicht weiß, ob bei Dir entweder einstellige, zweistellige oder dreistellige Zahlen zum Einsatz kommen oder ob alle Kombinationen möglich sind, also 1, 2 3 usw. stellige Zahlen.

Wie Du den VBA Code in Deine Datei bekommst, findest Du auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich. Ich kann Dir auch bei Bedarf eine Beispieldatei zukommen lassen. Allerdings müsste ich dazu Deine E-Mailadresse wissen.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Kadafi

hi coros

danke für die Antwort

Ich werde das mal versuche wie du es gesagt hast

für ein Beispiel würde ich mich freun

(wenns geht auch mit screenshots)

meine Addy lautet #



Piccitto@gmx.de

DANKE NOCHMALS

Antwort 3 von coros

Moin,

die Datei ist unterwegs.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Kadafi

Hey coros

zuerstmal

danke für die Beispieldatei.

ich habe das genau so gemacht wie du es HIER geschrieben hast.

aber es klappt nicht :-)

also öffne eine Excel liste

schreib in Mappe1

1 Max Mustermann

in mappe 2 zeiche ich ein Kombinationsfeld ein und füge den VBA Code hinzu!

speicher ab

so aber ich kann leider wenn ich nun das Kom.Feld öffne nichts auswählen.

hab ich was vergessen?

Antwort 5 von coros

Hi,

sorry, aber da kann ich Dir aus der Entfernung nicht recht weiterhelfen. Schau mal nach, wie Dein Kombinationsfeld heißt. Wie lautet dann der VBA Code dazu? Hast Du den Code in das richtige VBA Projekt, als in das der Tabelle, in dem sich das Kombiantionsfeld befindet, eingefügt?

Fehler gibt eine ganze Menge, die man machen kann. Aber wie schon geschrieben, so aus der Ferne, ohne Deine Datei dabei zu sehen, ist das schon schwer. Wenn Du möchtest, dann schick Deine Datei mal an meine E-Mail:coros@excelbeispiele.de. Binde bitte in die Betreffzeile irgendwie das Wort "Supportnet" und den Nicknamen, unter dem DU hier gepostet hast, mit ein, da ich alle Mails, deren Absender ich nicht kenne, ungelesen lösche. Ich schau dann mal, wo Du den Fehler gemacht hast.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: