Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hallo bin Neu hier

Hallo bin Neu hier
13.03.2021 16:54:30
Martin
Hallo
Bin neu hier und ziemlich schwach mit VBA.
Habe folgendes Problem!
ich würde gerne meine bereits befüllte Tabelle mittels UserForm durchsuchen.
Habe in meiner UserForm
1 Combobox1 befüllt mit Überschriftzeile
2 Combobox2 befüllt mit Reihe C
3 Combobox3 befüllt mit Reihe B
2 TextBoxen für die Ausgabe der Ergebnisse
Mein wunsch wäre:
Wenn ich Combobox1 und Combobox2 oder Combobox3
einen Inhalt auswähle,
das die gesuchte Zelle in Textbox4 und aus der gleichen Zeile der Kollege in Textbox3
eingetragen werden.
Das ganze UserForm soll nur als Suchoberfläche dienen.
Hoffe ich habe mich verständlich ausgedrückt,
Danke im vorhinein
und schöne grüsse
Anbei meine Tabelle mit UserForm
https://www.herber.de/bbs/user/144740.xlsm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hallo bin Neu hier
13.03.2021 19:40:08
GraFri
Hallo
Würde ich mit Array machen. Suchbutton ist dann unnötig.
Option Explicit
Dim alleDaten() As Variant
Dim n As Long, x As Long
Private Sub UserForm_Initialize()
Dim letzteZeile As Long
With ThisWorkbook.Worksheets("Tabelle1")
' letzte Datenzeile der Spalte B
letzteZeile = .Cells(Rows.Count, "B").End(xlUp).Row
' alle Daten (inkl. Überschriften) in ein Array
alleDaten = .Range("A1:J" & letzteZeile).Value
End With
' ComboBox1 aus Array füllen. Zeile 1 , Spalte 5 bis Spalte 10
For n = 5 To 10
ComboBox1.AddItem alleDaten(1, n)
Next n
End Sub
' nur Daten anzeigen, bei der es auch eine Firma gibt
Private Sub ComboBox1_Change()
' Index des gewählten Eintrags und + 5, da ab Spalte 5 die Firmen beginnen
x = ComboBox1.ListIndex + 5
With ComboBox2
.Clear
For n = 2 To UBound(alleDaten, 1)   ' Firmen beginnen ab Zeile 2
If alleDaten(n, x)  "" Then .AddItem alleDaten(n, 3)
Next n
End With
With ComboBox3
.Clear
For n = 2 To UBound(alleDaten, 1)   ' Firmen beginnen ab Zeile 2
If alleDaten(n, x)  "" Then .AddItem alleDaten(n, 2)
Next n
End With
End Sub
' ComboBox2 und ComboBox3 synchronisieren
Private Sub ComboBox2_Change()
ComboBox3.ListIndex = ComboBox2.ListIndex
Call SuchErgebnis
End Sub
Private Sub ComboBox3_Change()
ComboBox2.ListIndex = ComboBox3.ListIndex
Call SuchErgebnis
End Sub
Sub SuchErgebnis()
' Index des gewählten Eintrags und + 5, da ab Spalte 5 die Firmen beginnen
x = ComboBox1.ListIndex + 5
' nach Anzeige in ComboBox3 suchen
For n = 2 To UBound(alleDaten, 1)
If alleDaten(n, 2) = ComboBox3.Text Then
TextBox4.Text = alleDaten(n, x)
TextBox3.Text = alleDaten(n, 4)
End If
Next n
End Sub

mfg GraFri

Anzeige
AW: Hallo bin Neu hier
13.03.2021 23:07:35
Martin
Vielen Dank für die schnelle Hilfe!
Funktioniert Weltklasse!!!
Danke nochmal
und
schöne Grüße
aus Wien

AW: Hallo bin Neu hier
14.03.2021 11:20:43
Herbert_Grom
Hallo Fritz,
welch seltener Gast, dich habe ich ja schon lange nicht mehr "gelesen"! Ich glaube, zuletzt war das noch zu "Spotlight-Zeiten"! Bleibst du nun etwas länger?
Servus

AW: Hallo bin Neu hier
14.03.2021 15:45:10
GraFri
Hallo
Schön, eine persönliche Nachricht zu beklommen. Habe 2017 zuletzt etwas hier gemacht (nicht zu "Spotlight-Zeiten") und fange jetzt erneut etwas an. Ein wenig Gedächtnistraining ist immer gut. Du bist ja eh fleißig, lese viel von dir.
Wir 'lesen' von uns, lass es dir gut gehen - so wie ich.

Anzeige
AW: Hallo bin Neu hier
14.03.2021 16:49:19
Herbert_Grom
Hallo Fritz,
2017 habe ich dich anscheinend hier verpasst. Ganz ehrlich, wenn ich deinen Nick hier lese, wird mir ganz warm ums Herz, denn ich denke an die guten alten Spotlight-Zeiten! Gerade habe ich dort einen Post von dir vom 19.01.2000 gefunden. Lang, lang ist's her!
Du bist ja eh fleißig, lese viel von dir: Tja, ist halt mein Hobby! Und so habe ich als Rentner auch eine sinnvolle Beschäftigung und muss nicht, wie viele andere, den Tag mit "RTL2" etc. rum bringen!
Und lass es dir gut gehen ist übrigens seit ewigen Zeiten mein Spruch! Deshalb auch für dich: lass es dir gut gehen!
Servus, bis bald
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige