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

Daten aus einer Tabelle in ein Listenfeld übernehmen

Daten aus einer Tabelle in ein Listenfeld übernehmen
05.11.2019 17:18:09
Dieter
Hallo zusammen,
mal sehen ob ich mein Problem genau genug schildern kann.
Ich habe eine Tabelle, in der in Zeile 2(ab B2) das Datum immer in 5er Blöcken nach rechts läuft, also 5 Arbeitstage, dann die nächsten usw.
Wenn es einfacher wird kann ich mir auch ein Feld mit der Kalenderwoche vorstellen.
In Zelle A4 (ist mit den Zellen A5-10 verbunden) steht die MaschineA.
In den Zellen B4 bis F10 sind Auftragsnummern eingetragen.
In Zelle A11 (ist mit den Zellen A11-16 verbunden) steht die MaschineB.
In den Zellen B11 bis F16 sind Auftragsnummern eingetragen.
... usw.
Das Große Ziel ist nun, dass ich in einer ersten Textbox eine Maschine eintragen möchte, und in einer zweiten Textbox entweder das erste Datum der Woche (Montag) oder die KW.
Dann sollen in einem Listenfeld in der obersten Zeile die 5 Wochentage stehen links in der ersten Spalte die Maschine und unter dem jeweiligen Datum die Auftragsnummern der 5 Wochentage, die zu der eingetragenen Maschine passen.
Ich hoffe das war verständlich.
Wie gesagt ich bin neu in VBA. Die Userform habe ich so weit hinbekommen. Ich habe drei Schaltflächen eingebaut. Abbrechen, Liste Clear, Abfrage starten. Abbrechen und Clear funktioniert (welch Wunder) Bei Starten bin ich aber nicht weiter gekommen. Ich bekomme eine liste mit allen Maschinen und Aufträgen, also nicht selektiert nach Maschine, und wie ich das mit dem Datum hinbekommen soll... ?
Sehr wahrscheinlich ist das für die Profis easy, aber ich steh von nem großen Berg.
Danke Euch
LG Dieter

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
05.11.2019 17:22:33
Werner
Hallo Dieter,
deine Chancen auf Hilfe würden steigen, wenn du deine Datei hier hochladen würdest.
Ich glaube kaum, dass jemand deine Datei nach deiner Textbeschreibung nachbauen wird.
Gruß Werner
offen, komme heute nicht mehr dazu. o.w.T.
05.11.2019 18:14:05
Werner
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
06.11.2019 22:15:46
Piet
Hallo Dieter
mal sehen ob ich dein Problem genau genug lösen konnte? Die UserForm habe ich leicht geaendert.
Nach meiner Ansicht war es leichter die Maschinen per CoöboBox auszuwaehlen und die KW in die TextBox einzugeben. Beim Start erscheint immer die letzte KW der Tabelle. Es gibt einen neuen Button "Sprung zur KW Woche".
https://www.herber.de/bbs/user/132985.xlsm
Würde mich freuen wenn meine Idee ankommt und euch die Arbeit erleichtert ...
mfg Piet
Anzeige
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
07.11.2019 08:46:37
Dieter
Hallo Piet,
vielen lieben Dank erst einmal.
Werde mich heut Nachmittag ransetzen. Danke.
Nun muss ich es auch "nur" noch verstehen!!
LG Dieter
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
07.11.2019 11:11:37
Piet
Hall Dieter
freut mich das du meinen Code testen willst, erklaere ihn dir noch ein bisschen.
Über die ComboBox suche ich in Spalte A die passende Maschine, und ermittele den Bereich der verbundenen Zellen über MergeArea. Ist "Alle Maschinen" gewaehlt nehme ich den ganzen Bereich. Oben bei Const findest du die Zahl 22, die max Anzahl an Machinen Zeilen. Die muss ich wissen, weil ich nicht über LastZell suchen kann! (bei verbundenen Zellen falsches Ergebniss!!)
Weiss ich die 1. Zeile und den Maschinenbereich kann man ins Listenfeld auflisten. Dazu suche ich mit CKW die 1. Spalte der angegebenen Kalenderwoche. Mit diesen beiden Vorgaben kann man alle Daten übernehmen. Im Prinzip ein sehr simpler Code. Aber sicher gut durchdacht.
mfg Piet
Anzeige
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
07.11.2019 11:16:29
Piet
Nachtrag
hast du mal überlegt deine ListBox auf 2 Wochen zu erweitern? Platz genug hast du dafür. Wenn du den Code verstanden hast ist es kein Thema das Lademakro von 7 auf 11-12 Spalten zu erweitern. Vielleicht mit einer Leerspalte zum trennen der Wochen, wo du nur "*" zur optischen Trennung eingibst.
Ist das noch mal eine Verbesserung für dich? Den Code kannst du sicher selbst umstricken ....
mfg Piet
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
07.11.2019 17:20:46
Dieter
Hallo Piet,
Danke auch noch für die Erläuterungen, ich bin relativ neu auf dem Gebiet VBA, will mich da aber einarbeiten, Excel an sich und Makros laufen schon ganz gut. Nur hier muß ich neu lernen, und da hilft mir Deine Erläuterung mir Sicherheit sehr.
Die Lösung ist Klasse, und das mit den 2 Wochen muss ich mal sehen... Hab nächste Woche Urlaub und da hab ich dann richtig Zeit mich hier reinzudenken.
Vielleicht kann man in Kontakt bleiben.
Danke nochmals. Das ging hier alles schneller und viel besser als ich gedacht habe und als ich das hinbekommen habe.
LG Dieter
Anzeige
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
07.11.2019 17:39:34
Dieter
Hallo Piet,
ich noch mal.
Seh ich das richtig, dass ich die Tabelle nach rechts einfach erweitern kann?
Was muss ich alles ändern, wenn ich nach unten noch z.B 3 Maschinen anfügen möchte?
Ich werd auf alle Fälle viel probieren. Danke Dir!!
LG Dieter
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
07.11.2019 18:32:46
Piet
Hallo Dieter
nach Rechts kannst du beliebig erweitern, max. stehen dir 4096 Spalten zur Verfügung! Nach unten geht auch beliebig weit. Dann sollest du den Code bitte wie unten aendern, und hinter der letzten Maschine in Spalte A das Wort "Ende" schreiben! Das benötige ich als Endzelle für den Suchlauf nach LastZell! Die Const Anweisung "lzMasch" MUSS dann gelöscht werden, aber danach kannst du FREI waehlen wieviele Datensaetze du nach unten anhaengst.
Das nenne ich sich der Tabelle selbst anpassendes Universal Makro! Wir können in Kontakt bleiben, denke aber bitte daran das dieser Thread automatisch aus dem Server rausfaellt und ins Archiv geht. Dort kannst du nix mehr schreiben, ich nicht mehr antworten. In dem Fall neuen Tread aufmachen, am besten mit Hinweis auf diesen Thread oder an Piet.
Ich bin aber nicht jeden Tag im Forum, habe manchmal Probleme mit Internet Ausfall durch Strassenbauarbeiten. (Standort Ankara, überrascht?) Mal 1-2 Tage kein Netz ist hier normal!
mfg Piet
Private Sub Starten_Click()
Dim LIdx As Integer, z As Integer    'ListIndex, AC.Row
Dim KW As String, CKW As Integer     'KW String + Zahl
Dim i As Integer, j As Integer       'Zaehler allgemein
Dim AC As Range, rFind As Range      'For AC, Suche KW
Dim MRange As String, MSA As String  'Maschinen Auswahl
Dim lzMasch As Integer  '** neu: LastZelle Maschine
On Error GoTo Fehler
With Worksheets("Tabelle1")
ListBox1.Clear
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "0;60;80;80;80;80;80"
lzMasch = .Cells(Rows.Count, 1).End(xlUp).Row - 1

Anzeige
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
08.11.2019 07:19:04
Dieter
Hallo Piet,
die Welt ist eben klein, nein ich habe mich nicht erschrocken.
Aber:
ich habe nen Fehler gefunden. Die Maschine ändert sich im Listenfeld nicht mit. Bleibt immer auf BC42 stehen.
Haste ne Idee?
LG Dieter
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
08.11.2019 07:20:40
Dieter
.
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
08.11.2019 13:01:32
Piet
Hallo Dieter
und schon lernst du die Praxis des VBA kennen, die dummen kleinen Flüchtigkeitsfehler, die auc mir immer wieder mal unterlaufen. Kennt man den Code findet man ihn schnell. Schau mal bitte hier:
ListBox1.Column(1, LIdx) = .Range("A" & z).Value 'Maschine
Wenn ich die Maschine üver die Variable "i" lade, statt wie richtig über z=AC.Row dann stimmen die Daten im Listenfeld, es wird aber IMMER die 1. Maschine angezeigt. Das war alles ...
mfg Piet
Anzeige
AW: Daten aus einer Tabelle in ein Listenfeld übernehmen
10.11.2019 13:40:45
Dieter
Hallo Piet,
du machst mich sprachlos. Danke dafür.
Ich werd mal versuchen für mich jede Zeile zu übersetzen um zu verstehen. Ob ich das hin bekomme, weiß ich noch nicht. Aber es funtzt super.
LG Dieter
AW: Danke für Rückmeldung
11.11.2019 09:22:50
Piet
Hallo Dieter
Danke für die Rückmeldung, freut mich das meine Arbeit so gut funktioniert. Den Code verstehen, dazu braucht man eine Weile. Denk mal ans Autofahren. Bis unser Gehirn begreift wie man Kuppeln, Schalten, Gas geben muss dauert auch seine Zeit. Zum Glück sind wir alle lernfaehig ....
mfg Piet

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige