Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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

Datenrückgabe aus Auswahl in Combobox in definierte Zelle

Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 16:21:58
Robin
Hallo zusammen,
da ich ein ziemlicher VBA "Neuling" bin würde ich mich gerne an euch wenden um vielleicht hier Hilfe für mein Problem zu bekommen. Zu meinem Anliegen. Ich versuche gerade eine Q-Matrix zu erstellen die "interaktiv" über eine Userform gefüllt wird sobald ich einen Namen eines Mitarbeiters über eine Combobox auswähle (das funktioniert auch). Somit bekomme ich alle für mich relevanten bzw. verfügbaren Daten des jeweiligen Mitarbeiters angezeigt. Sollte nun eine Qualifikation in einem bestimmten Bereich stattfinden ,möchte ich über weitere Comboboxen (in Summe 7 die als Module beschrieben sind) die die Werte 0,25,50,75,100 schon enthalten (realisiert mit RowSource) , eine Auswahl treffen und diesen geänderten Wert dann in die Tabelle ausgeben. Ist das möglich?
anbei der von mir geschriebene Code. Habe mir hunderte Videos und Tutorials angeschaut und versucht das beste für mich herauszuziehen. Habe gelesen das es bei Excel meist mehr als eine Variante gibt die zum Ergebnis führt, vielleicht bin ich auch in der total falschen Richtung unterwegs. Vielleicht gibt es auch eine übersichtlichere Variante so etwas anzulegen aber wie gesagt, ich war froh das ich das soweit schon hinbekommen habe :-) .
Hoffe jemand kann mir hierbei helfen :-)
Schon Vielen vielen Dank
Gruß Robin
----------------------------------------------------------------------------
'Arbeitsblatt aktivieren

Private Sub Worksheet_Activate(Tabelle1)
End Sub

'Anzeigen der Dateien

Private Sub CommandButton1_Click()
Dim Name As String
Dim sy As Long
Set Rng = Range("B:AZ") 'Auswahlbereich Daten
by = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 4, False) 'PNummer
cy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 5, False) 'KNummer
dy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 2, False) 'Bereich
ey = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 3, False) 'Schicht
fy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 6, False) 'Haupt_Funktion
gy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 10, False) ' _
Modul_1_SOLL_Sicherheitsunterweisung
iy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 13, False) 'Modul_2_SOLL
jy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 16, False) 'Modul_3_SOLL
ky = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 19, False) 'Modul_4_SOLL
ly = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 22, False) 'Modul_5_SOLL
my = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 25, False) 'Modul_6_SOLL
ny = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 28, False) 'Modul_7_SOLL
oy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 11, False) 'Modul_3_IST
py = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 14, False) 'Modul_4_IST
qy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 27, False) 'Modul_5_IST
ry = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 20, False) 'Modul_6_IST
sy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 23, False) 'Modul_7_IST
ty = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 26, False) 'Modul_7_IST
uy = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 29, False) 'Modul_7_IST
PNummer.Value = by
KNummer.Value = cy
Bereich.Value = dy
Schicht.Value = ey
Funktion.Value = fy
SollSicherh.Value = gy
Modul2.Value = iy
Modul3.Value = jy
Modul4.Value = ky
Modul5.Value = ly
Modul6.Value = my
Modul7.Value = ny
ComboBox1.Value = oy
ComboBox2.Value = py
ComboBox3.Value = qy
ComboBox4.Value = ry
ComboBox5.Value = sy
ComboBox6.Value = ty
ComboBox7.Value = uy
End Sub

'Zurücksetzen der aktuellen Auswahl

Private Sub CommandButton4_Click()
Mitarbeiter.Value = "" 'DropBox Mitarbeiter
PNummer.Value = "" 'PNummer
KNummer.Value = "" 'KNummer
Bereich.Value = "" 'Bereich
Schicht.Value = "" 'Schicht
Funktion.Value = "" 'Haupt_Funktion
SollSicherh.Value = "" 'Modul_1_SOLL_SicherheitU
Modul2.Value = "" 'Modul_2_SOLL
Modul3.Value = "" 'Modul_3_SOLL
Modul4.Value = "" 'Modul_4_SOLL
Modul5.Value = "" 'Modul_5_SOLL
Modul6.Value = "" 'Modul_6_SOLL
Modul7.Value = "" 'Modul_7_SOLL
ComboBox1.Value = "" 'Modul_2_IST
ComboBox2.Value = "" 'Modul_3_IST
ComboBox3.Value = "" 'Modul_4_IST
ComboBox4.Value = "" 'Modul_5_IST
ComboBox5.Value = "" 'Modul_6_IST
ComboBox6.Value = "" 'Modul_7_IST
ComboBox7.Value = "" 'Modul_8_IST
End Sub

'Formular schließen

Private Sub CommandButton3_Click()
Unload Me
End Sub

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 16:56:28
Robin
Vielleicht noch zur Ergänzung, lediglich die Daten von Combobox 1-7 sollten mit einem Button in die Tabelle zurückgeschrieben werden wenn etwas aktualisiert wurde.
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 17:04:30
ralf_b
so z.b. Range("A1").Value = ComboBox1
und die diese Variablen a la by, cy... brauchst nicht.
PNummer.Value = Application.WorksheetFunction.VLookup(Mitarbeiter.Value, Rng, 4, False) 'PNummer

AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 17:12:46
Robin
Ok danke, heisst aber ich muss dies für jeden Mitarbeiter anlegen oder? Es ist ja so das ich einen mitarbeiter auswähle und dann wird der jeweilige qualifikationsstand angezeigt. Wenn ich dann bei diesem mitarbeiter was ändere sollen sich die daten nur bei ihm zurückschreiben. Oder funktioniert das trotzdem?
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 17:23:20
ralf_b
naja, das war ja nicht gefragt.
selbstverständlich ermittelt man erstmal die entsprechende Zeilen nr. für den Mitarbeiter.
Optimalerweise hat man die schon ermittelt wenn die Mitarbeiterdaten in die UF geholt werden.
Und übrigens eine Combobox hält die Daten in einer Liste. Somit ist die Zuweisung Combobox1.value = irgendwas nicht so ganz ok. man wählt aus der vorhandenen Liste einen Eintrag aus Combobox1.listindex = nr des Eintrags in der Liste 0 = erster Eintrag
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 17:28:53
Robin
Jetzt steh ich auf dem schlauch.
Könnten Sie mir mal ein Beispiel senden wie man das richtig schreibt? Irgendwie raff ich es gerade nicht sorry :-|
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 17:57:27
ralf_b
deine vlookup Funktion holt dir doch die Daten aus einer Zeile. und das immer wieder.
Das mag ja gut sein in einer Tabelle. Aber wenn du mit Userfrom arbeitest. dann brauchst du die Zeile nur einmal finden und dann nutzt du diese Zeilennumer um dir die Werte aus den einzelnen Spalten zu holen. Nach hunderten von Videos dachte ich das sowas schon dabei war.
z.b.

dim varZeile as long
varZeile = application.match(Mitarbeiter.Value,rng,0)  'Zeilennr wird in Variable geschrieben
'z.b.
PNummer.Value = rng.Cells(varZeile , 4).Value 'PNummer aus Tabelle in Control
KNummer.Value = rng.Cells(varZeile , 5).Value

Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 18:07:49
Robin
Ja war es bestimmt aber wenn man es so mal erklärt bekommt ergibt es doch mehr sinn. Da aber meine daten in den Dpalten stehen müsste es dann ja PNummer.Value = rng.row( heißen oder?
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 18:29:45
Robin
Habe den Code mal so genommen und angepasst, Es kommt aber Laufzeitfehler 13 Typen unverträglich.
Habe ich hier etwas falsche eingetragen?
Name1 ist gleich der Benannte Bereich in dem die Namen der Mitarbeiter stehen.
'Anzeigen des Qualifikationsniveaus des Mitarbeiters
Private Sub CommandButton1_Click()
Dim Name1 As Long
Name1 = Application.Match(Mitarbeiter.Value, Rng, 0) 'Zeilennr wird in Variable geschrieben
'z.b.
PNummer.Value = Rng.Cells(Mitarbeiter, 23).Value  'PNummer aus Tabelle in Control
End Sub

Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 18:47:24
ralf_b
falsch eingetragen ? ja
Mitarbeiter.Value ist die Pnummer , nahc der in ein bestimmten spalte gesucht wird.
match ist die Nachschlagefunktion Vergleich() . die liefert eine Zahl
Rng.Cells(Mitarbeiter, 23).Value was hier drin eine Pnumer zu suchen hat ist mir unverständlich.
Cells(zeilennr, 23) ist die Adresse der Zelle wo ein Wert herausgenommen werden soll.
vielleicht mußt du das hier anpassen
Application.Match(Mitarbeiter.Value, Rng.columns(4), 0)
die 4 ist die spalte 4 in deine rng. Nicht unbedingt die Spalte "D". Die passt du an die Spalte an wo der Mitarbeiter.value drin steht.
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 19:48:42
Robin
Ich komme nicht weiter, habe jetzt versucht die Codes auf jegliche Art und Weise zu ändern ich krieg es einfach nicht hin. Wäre es möglich dir den „Rohling“ der Datei mal zu senden das du mal schauen könntest was ich falsch mache?
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 19:55:26
Robin
Ich komme nicht weiter, habe jetzt versucht die Codes auf jegliche Art und Weise zu ändern ich krieg es einfach nicht hin. Wäre es möglich dir den „Rohling“ der Datei mal zu senden das du mal schauen könntest was ich falsch mache
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
21.11.2020 20:18:42
ralf_b
beispieldateien sind immer gern gesehen. per Fileupload button hier über dem Texteingabefenster den Link erzeugen und hier posten.
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 01:15:17
ralf_b
https://www.herber.de/bbs/user/141755.xlsm
Aufgrund der von dir verwendeten Controls kann ich leider nicht 100% helfen, da ich kein Visualstudio installiert habe und die Controls deshalb nicht in meinem Office vorhanden sind.
Ich nutze nur die Msforms2.0 Standardcontrols
Aber ein paar Daten habe ich dir in deine UF geholt damit du mal siehst wie das gehen könnte.
Gruß
RB
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 11:24:28
Robin
Perfekt, Vielen Dank. sieht schonmal viel besser aus. Wodurch habe ich dann die Möglichkeit die IST Zustände die sich ändern in die Tabelle zu übernehmen?
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 11:29:04
ralf_b
Genauso nur umgekehrt.
Zeile ermitteln oder als Wert irgendwo im UF merken und die Controlinhalte in die Zellen.
Es dürfte ja kein Problem sein ein Control zu setzen wo du die Zeilennr oder Datensatznr speicherst. Das kann ja auch unsichtbar sein. Oder eine globale Variable.
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 14:22:35
Robin
Ok das ist mir zu hoch da muss ich mal rumprobieren wie das funktioniert :-)
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 15:11:01
ralf_b
wenn dir das zu hoch ist, dann ist das Projekt eben noch nichts für dich. Es kann ja nicht Sinn der Übung sein dir deine Programmbestandteile so Pö a Pö zusammen zu schreiben und du verstehst gar nicht was da abgeht.
Die ZeilenNr ermitteln hast du schon im Code fertig.
Einen Wert aus einem Control in eine Zelle zu schreiben ist relativ easy.
Cells( zeile, spalte).value = Control
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 17:38:07
Robin
Ja wahrscheinlich...nur kann ich dann nicht aufhören wenn ich schon so weit bin, da beiß ich mich immer fest :-)
Habe jetzt mal versucht den Code so zu schreiben:
'IST_Wert Update
Private Sub CommandButton2_Click()
Dim x As Long
With Sheets("Routing")
.Cells(23, 12).Value = Me.ComboBox1.Value
.Cells(24, 12).Value = Me.ComboBox1.Value
.Cells(25, 12).Value = Me.ComboBox1.Value
End With
End Sub
Wenn ich nur einen Satz stehen habe funktioniert die Übergabe,
.Cells(23, 12).Value = Me.ComboBox1.Value
Sobald aber der zweite Wert dazu kommt werden wieder alle in der Spalte 12 geändert.
Ich übe mich in Geduld, fällt mir aber immer schwerer :-D
Anzeige
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 20:50:51
ralf_b
du schreibst den selben Wert in Zellen, die untereinander liegen. Ist das so gewollt?
was das heißen soll, weis ich nicht. Zitat "Sobald aber der zweite Wert dazu kommt werden wieder alle in der Spalte 12 geändert."
Was bedeutet "alle"?
wieso "wieder"? kommt das mehrfach vor?
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 21:01:00
Robin
Meine Tabelle ist ja so angelegt das die die Namen von A23 bis A44 stehen. In dem Beispiel von oben will ich erreichen das in der Combobox1 der Wert in der Zelle (23, 12) geändert wird. Dies Funktioniert auch. Sobald ich aber wie oben in dem Beispiel ,darunter den Wert (24,12) eintrage, ändern sich beide Werte undabhängig davon ob ich den ersten oder den zweiten namen auswähle, vermute weil ich beide damit anspreche oder?
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 21:53:23
ralf_b
Zum einen änderst du hier nicht einen Datensatz sondern spaltenweise also mehrere Datensätze. Und das ist nicht das was du angeblich vorhast. Zum Anderen stehen Namen in Spalte A aber in deiner Beispieldatei sind sie in Spalte B. Für solche Spielereien habe ich keine Muße.
Wenn man wenige Kenntnisse hat, dann sollte man seinen Helfern wenigstens die passende Datenstruktur zur Verfügung stellen.
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 21:56:49
Robin
Ja ich möchte ja nicht Spaltenweise ändern sondern nur in dem Datensatz bezogen auf den Mitarbeiter den ich auswähle. Ja sorry es ist auch B, bin nicht mehr am PC...
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 22:05:37
ralf_b
Aha und die Essenz der Geschichte du kannst nicht lesen. Oder worüber reden wir hier?
Cells(zeile ,Spalte) so spricht man eine Zelle per Adresse an. Und dann bewegt man sich pro Operation auch nur in einer! Zeile.
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 22:10:54
Robin
Ich versteh nicht was daran falsch ist...
Ich schreibe ja
23, 12
24, 12
25, 12
Weil die Zellen in der gleichen Spalte untereinander liegen.
AW: Datenrückgabe aus Auswahl in Combobox in definierte Zelle
22.11.2020 22:19:25
ralf_b
Letzter Versuch,
du meinst du willst einen! Datensatz ändern. Ein Datensatz ist eine Zeile.
du änderst gleich Teile von drei Datensätzen. 23, 24 ,25 sind zeilen als je ein Datensatz. Für mich macht das keinen Sinn.
cells(23,11)
cells(23,12)
cells(23,13)
würde für mich Sinn machen.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige