Anzeige
Archiv - Navigation
1216to1220
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
Exceldaten Formular übertragen
Heidi
Hallo zusammen,
bräuchte dringend Hilfe. Ich möchte anhand einer großen Excelliste ein Formular erstellen. In dem Formular möchte ich die Möglichkeite haben eine Abteilungsbezeichnung auszuwählen und er soll mir dann alle Mitarbeiter anzeigen mit den dazugehörenden Daten.
https://www.herber.de/bbs/user/75311.xls
Vielen Dank!
Gruß
Heidi
AW: Exceldaten Formular übertragen
16.06.2011 09:27:41
Rudi
Hallo,
1. Abteilung in A muss durchgehend gefüllt sein.
2. Userform mit ComboBox (cbxAbteilung) und ListBox (lbxMA) einfügen
3. Code in der UF:
Option Explicit
Private Sub UserForm_Activate()
Dim objAbt As Object, rngC As Range
Set objAbt = CreateObject("Scripting.Dictionary")
With Sheets(1)
With .Range(.Cells(3, 1), .Cells(Rows.Count, 1).End(xlUp))
For Each rngC In .Cells
objAbt(rngC.Value) = 0
Next
End With
End With
With cbxAbteilung
.Clear
.List = Application.Transpose(objAbt.keys)
End With
End Sub
Private Sub cbxAbteilung_Change()
Dim objMA As Object, rngC As Range
Set objMA = CreateObject("Scripting.Dictionary")
With Sheets(1)
With .Range(.Cells(3, 1), .Cells(Rows.Count, 1).End(xlUp))
For Each rngC In .Cells
If rngC = cbxAbteilung Then
objMA(rngC.Offset(, 1).Value & rngC.Offset(, 2).Value) _
= Array(rngC.Offset(, 1), rngC.Offset(, 2))
End If
Next
End With
End With
With lbxMA
.Clear
.ColumnCount = 2
.List = Application.Transpose(Application.Transpose(objMA.items))
End With
End Sub

Gruß
Rudi
Anzeige
AW: Exceldaten Formular übertragen
16.06.2011 10:44:39
Heidi
Hallo Rudi,
danke vorab für deine Hilfe. Aber ich möchte dies nicht über eine Userform laufen lassen sondern die Möglichkeit haben, wenn ich in einem Formularblatt bin, dass ich über eine Combobox die Abteilung auswählen kann und er mir dann alle Mitarbeiter mit den Daten in einem erstellten Formular anzeigt.
Hoffe, du konntest mich verstehen :-)
Danke!
AW: Exceldaten Formular übertragen
16.06.2011 10:51:04
Heidi
Hallo Rudi,
vielen Dank. Leider soll dies nicht über eine Userform laufen.
Ich würde gerne ein Formularblatt haben, wo ich über eine Combobox die Abteilung auswählen kann und
dann im Formular alle Mitarbeiter mit den Daten anzeigt.
:-)
Anzeige
was soll wo hin? owT
16.06.2011 11:41:17
Rudi
AW: was soll wo hin? owT
16.06.2011 11:50:14
Heidi
Hallo Rudi,
ist etwas kompliziert, aber ich habe eine große Datei mit versch. Abteilungen. Dazu benötige ich aber ein Formular (extra Tabellenblatt) wo ich eine Combobox habe wo ich nach Abteilungen suchen/filtern kann, diese sollen dann im Formularblatt angezeigt werden. :-(
Danke trotzdem!
AW: was soll wo hin? owT
17.06.2011 11:06:32
Heidi
Hallo zusammen,
hat jemand eine Idee wie ich dies in Excel umsetzen kann?
Vielen lieben Dank - ich komme leider nicht weiter :-(
Grüße
Auswahl nach Abtlg.
17.06.2011 13:08:37
Rudi
Hallo,
du solltest den Beitrag als offen kennzeichnen, wenn du noch nicht befriedigt worden bist.
Also: Haken bei 'Frage noch offen' rein.
Was soll denn genau passieren?
Auswahl Abtlg. in Combobox: Ok. Dann die Mitarbeiter aus Tab.1 filtern und in deine Tabelle eintragen. Auch OK.
Aber was ist mit den Texten? Wo soll was hin?
Gruß
Rudi
Anzeige
AW: Auswahl nach Abtlg.
17.06.2011 13:37:06
Heidi
Hallo Rudi,
danke für die Info. Hatte ich übersehen.
Also ich habe in Excel ein Formular, welches mit Daten ausgefüllt werden soll. Diese Daten schreibe ich alle komplett in eine Tabelle (sehr groß), daraus soll man dann im Formular nach Abteilung filtern können und er soll mir dann die entsprechenden Daten (gefiltert natürlich nach Abteilung) im Formular auflisten. Ich habe es schon mit SVERWEIS versucht, klappt nicht ganz, weil ich es irgendwie nicht schaffe, dass er mir nach Zeilen + Spalten sucht.
Zur Erklärung: Es gibt eine Abteilungsbezeichnung YXZ und da sind ca. 10 Personen, diese soll er mir dann mit den dazugehörenden Daten im Formular anzeigen.
Oje .... :-(
Dankeschön schon mal.
Anzeige
AW: Auswahl nach Abtlg.
17.06.2011 13:48:08
Heidi
Hallo Rudi,
anbei nochmal ein kleines Beispiel, vielleicht kann man es dann besser verstehen, hoffe ich.
https://www.herber.de/bbs/user/75331.xls
Dankeschön!
AW: Exceldaten Formular übertragen
17.06.2011 13:42:57
Rudi
Hallo,
als Ansatz:
Combobox in 'Umzugsdaten' einfügen.
Code in der Tabelle:
Private Sub ComboBox1_Change()
Dim myNames
myNames = Application.Transpose(arrNames(ComboBox1))
Range(Cells(7, 3), Cells(7, 3).End(xlDown)).ClearContents
Cells(7, 3).Resize(UBound(myNames)) = myNames
End Sub
Private Sub Worksheet_Activate()
Application.EnableEvents = False
With ComboBox1
.Clear
.List = arrAbt
End With
Application.EnableEvents = True
End Sub
In ein Modul:
Function arrAbt()
Dim oAbt As Object, rngC As Range
Set oAbt = CreateObject("Scripting.Dictionary")
With Sheets(1)
For Each rngC In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
oAbt(rngC.Value) = 0
Next
End With
arrAbt = oAbt.keys
End Function
Function arrNames(ByVal strAbt As String)
Dim oNames As Object, rngC As Range
Set oNames = CreateObject("Scripting.Dictionary")
With Sheets(1)
For Each rngC In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
If rngC = strAbt Then
oNames(rngC.Offset(, 1).Value & ", " & rngC.Offset(, 2).Value) = 0
End If
Next
End With
arrNames = oNames.keys
End Function

Tab1 aktivieren und wieder zurück zu Umzugsdaten. Dann ist die CBx gefüllt.
Gruß
Rudi
Anzeige
AW: Exceldaten Formular übertragen
18.06.2011 10:11:43
Heidi
Hallo Rudi,
vielen lieben Dank für deine tolle Hilfe. Dies ist genau das was ich gesucht habe. Ich habe jetzt versucht, in deiner Datei die Abteilung zu ändern, aber dann kommt vorne in der Umzugsliste(Tabelle1) eine Fehlermeldung - dies kommt auch, wenn ich eine neue Zeile in der Tabelle "Test" einfüge. Es kommen ja noch ganz viele Mitarbeiter dazu.
Vielleicht mache ich was falsch, aber du kannst mir bestimmt helfen.
Danke und noch ein schönes Wochenende.
Gruß
Heidi
Lad hoch was du gemacht hast owT
20.06.2011 10:07:35
Rudi
AW: Lad hoch was du gemacht hast owT
20.06.2011 12:21:28
Heidi
Hallo Rudi,
vielen lieben Dank für deine tolle Hilfe. Es klappt jetzt. Aber eine Sache hätte ich noch, wie kann ich das #NV ausblenden lassen? Dies erscheint ja logischerweise immer, wenn keine Daten vorhanden sind, sieht aber nicht so schön aus.
Dankeschön!
Grüße
Anzeige
AW: Lad hoch was du gemacht hast owT
20.06.2011 12:44:04
Rudi
Hallo,
das ist jetzt doch wirklich einfach.
=Wenn(C7="";"";Index(.....))
Gruß
Rudi
AW: Lad hoch was du gemacht hast owT
20.06.2011 14:15:05
Heidi
Hallo Rudi,
hab's hinbekommen, doch nun kommt doch ab und zu ein Fehler und zwar bei manchem Abteilungen über die Combobox bringt er eine Fehlermeldung.
Index außerhalb des gültigen Bereichs ... ?
https://www.herber.de/bbs/user/75371.zip
Kannst ja mal testen in der Datei - was mache ich falsch :-(?
Dankeschön!
AW: Lad hoch was du gemacht hast owT
20.06.2011 15:07:34
Rudi
Hallo,
was mache ich falsch :-(?

Nix.
Das betrifft Abtlg. mit nur 1MA.
Tausch den Code aus:
Private Sub ComboBox1_Change()
Dim myNames, i As Integer
If ComboBox1  "" Then
Range("C7:C10000") = ""
myNames = arrNames(ComboBox1)
For i = 0 To UBound(myNames)
Cells(i * 5 + 7, 3) = myNames(i)
Next
End If
End Sub

Gruß
Rudi
Anzeige
AW: Lad hoch was du gemacht hast owT
21.06.2011 20:01:26
Heidi
Hallo Rudi,
vielen lieben Dank, es klappt! :-)
Dankeschön!
Gruß

155 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige