Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
996to1000
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
Datum in Listenfeld auswählen
01.08.2008 21:32:00
Andre´
Hallo alle zusammen,
ich möchte durch eine Listenfeld erreichen, dass ein Anfangsdatum und ein Enddatum ausgewählt werden kann.
Das Anfangsdatum soll in die Zelle A1 und das Enddatum in die Zelle A2 zurück gegeben werden.
Hierzu soll aus einer TXT Datei
hier ein Bsp: https://www.herber.de/bbs/user/54278.txt
alle Datumsangaben (immer die ersten 10 Zeichen einer Zeile) in das Listenfeld zur Auswahl stehen.
Die TXT Datei befindet sich unter C:\Datum.txt
In der TXT Datei kann es vorkommen, dass das Datum mehrmals vorkommt. Es soll aber nur einmalig in dem Listenfeld zur Auswahl erscheinen.
Hat jemand eine Idee wie ich das realisieren kann.
Bin für jeden Tipp sehr dankbar!
MFG Andre

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum in Listenfeld auswählen
02.08.2008 12:06:00
Ramses
Hallo
Und was soll mit dem Rest der Daten passieren ?
Es macht ja wohl keinen Sinn für eine Datumsangabe ein solch kompliziertes Procedere zu veranstalten
Gruss Rainer

AW: Datum in Listenfeld auswählen
02.08.2008 12:54:18
Tino
Hallo,
habe hier mal etwas zusammengebastelt, kannst Du damit etwas anfangen?

Option Explicit
Dim sLine() As String
Sub txt_ReadLine()
Dim sFilename As String
Dim F As Integer
Dim strTemp As String
Dim lngZ As Long
sFilename = "C:\Datum.txt"
lngZ = 0
'Hier wird die Dimension mittels Schleife ermittelt
If Dir$(sFilename)  "" Then
F = FreeFile
Open sFilename For Input As #F
While Not EOF(F)
Line Input #F, strTemp
lngZ = lngZ + 1
Wend
Close #F
ReDim sLine(0 To lngZ) 'Dimension Festlegen
lngZ = 0
'Textdatei in eien Area einlesen
Open sFilename For Input As #F
While Not EOF(F)
Line Input #F, sLine(lngZ)
sLine(lngZ) = Left$(sLine(lngZ), 10)
lngZ = lngZ + 1
Wend
Close #F
End If
'Doppelte Einträge in Area entfernen
Call DeleteDoppelt
'alte Daten löschen
Tabelle1.ListBox1.Clear
'Neue Daten in Listbox schreiben
For lngZ = 0 To UBound(sLine) - 1
Tabelle1.ListBox1.AddItem sLine(lngZ)
Next lngZ
End Sub
Sub DeleteDoppelt()
Dim col As New Collection
Dim iCounter As Long
On Error Resume Next
For iCounter = 0 To UBound(sLine) - 1
col.Add sLine(iCounter), CStr(sLine(iCounter))
Next iCounter
On Error GoTo 0
ReDim sLine(0 To col.Count - 1) 'Neu Dimensionieren
For iCounter = 0 To col.Count - 1
sLine(iCounter) = col(iCounter + 1)
Next iCounter
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Datum in Listenfeld auswählen
02.08.2008 21:30:00
Andre´
Hallo Reiner und Tino,
erstmals Danke für die Antworten.
Rainer,die Daten sollen in das Sheets(2) mit folgenden Code eingetragen werden:

Sub TextEinlesen()
Dim iFree As Integer, strText As String, arrTmp, arrDaten()
Dim lngCounter As Long, lngStart As Long, lngEnde As Long
ReDim arrDaten(1 To 4, 1 To 1)
iFree = FreeFile
lngStart = Range("A1") * 1
lngEnde = Range("A2") * 1
Open Range("A3") For Input As iFree
Do While Not EOF(iFree)
Line Input #iFree, strText
arrTmp = Split(strText, ";")
Select Case arrTmp(0) * 1
Case Is >= lngStart, Is 


Tino, hast Du vielleicht eine Bsp.xls
Ich hoffe, das Ihr mir weiter helfen könnt.
MFG Andre

Anzeige
AW: Datum in Listenfeld auswählen
02.08.2008 23:06:07
Ramses
Hallo
Sorry,... aber warum fragst du nicht denjenigen der dir den Code geschrieben hat, den Code entsprechend anzupassen.
Gruss Rainer

AW: Datum in Listenfeld auswählen
03.08.2008 10:33:00
Andre´
Hallo,
den Code habe ich von Rudi Maintaire der Beitrag war aber ein anderer siehe
https://www.herber.de/forum/archiv/984to988/t986101.htm
und der Aufbau der TXT Datei ist auch anders als in dem jetzigen Thread.
Ich bin der Meinung, dass alle Forumsmitglieder einbezogen werden sollen und nicht einzelne Personen angesprochen werden sollen von den man mal Hilfestellung erhalten hat.
Ich habe mal den Code von Tino eingearbeitet wobei ich
Tabelle1.ListBox1.Clear zu UserForm1.ListBox1.Clear und
Tabelle1.ListBox1.AddItem sLine(lngZ) zu UserForm1.ListBox1.AddItem sLine(lngZ)
abgeändert habe.
Hier die Datei: https://www.herber.de/bbs/user/54298.xls
Beim einlesen des Datums wird allerdings nicht der 18.06.2008 mit angezeigt.
Was muss jetzt im Code geändert/ eingefügt werden, damit beim anklicken eines Datums im Listenfeld dies in die Zelle A1 und in die Zelle A2 übergeben wird.
Ich stelle mir es so vor, dass beim Anfangsdatum/ Enddatum ein Text erscheint: Geben Sie ein Anfangsdatum ein
nach der Auswahl dann: Geben Sie ein Enddatum ein wobei das Enddatum gleich oder größer des Anfangsdatum sein sollte.
Mit dem einlesen der Daten in das Sheets(2) würde ich das dann schon selber kombinieren.
Wäre sehr Dankbar wenn mir jemand helfen könnte.
MFG Andre

Anzeige
AW: Datum in Listenfeld auswählen
03.08.2008 11:14:10
Andre´
Hallo Tino,
jetzt wird alles eingelesen Danke!
Wie kann ich aber nun die Werte in die Zellen übergeben?
Wie bereits beschrieben:

Was muss jetzt im Code geändert/ eingefügt werden, damit beim anklicken eines Datums im  _
Listenfeld dies in die Zelle A1 und in die Zelle A2 übergeben wird.
Ich stelle mir es so vor, dass beim Anfangsdatum/ Enddatum ein Text erscheint: Geben Sie ein  _
Anfangsdatum ein
nach der Auswahl dann: Geben Sie ein Enddatum ein wobei das Enddatum gleich oder größer des Anfangsdatum sein sollte.


Kannst Du mit bitte diesbezüglich weiter helfen.
Vielen Dank im Voraus!
MFG Andre

Anzeige
AW: Datum in Listenfeld auswählen
03.08.2008 11:32:27
Tino
Hallo,
ich würde dies über zwei ComboBoxen machen
Eine mit Datum Anfang und eine mit Datum Ende.
https://www.herber.de/bbs/user/54301.xls
Gruß Tino

AW: Datum in Listenfeld auswählen
03.08.2008 22:14:53
Andre´
Hallo Tino,
Danke für den Tipp.
Ich habe noch
UserForm1.ListBox1.Clear
zu
UserForm1.ComboBox1.Clear
UserForm1.ComboBox2.Clear
abgeändert, obwohl Clear vielleicht gar nicht notwendig sein wird Oder?
Ich lasse den Thread mal offen. Durch die ComboBox kann man eben auch andere Dinge direkt eingeben und die Prüfung ob das Enddatum gleich oder größer ist sollte noch erledigt werden.
MFG Andre

Anzeige
AW: Datum in Listenfeld auswählen
05.08.2008 21:34:17
Andre´
Hallo Tino,
konnte mich leider erst jetzt melden.
Der Lösungsansatz ist gut, wenn ich aber jetzt etwas anderes in ComboBox eingebe
kommt Laufzeitfehler 13 Typen unverträglich durch das CDate.....
Hast Du noch eine Idee, wie man nur die vorgegebenen Werte benutzen kann und keine anderen Eingaben in den ComboBoxen tätigen kann.
MFG Andre

AW: Datum in Listenfeld auswählen
05.08.2008 22:18:00
Andre´
Hallo Tino,
habe soeben mein Problem gelöst.
Ich habe Deinen letzten Tipp in die ListBoxen eingearbeitet und übergebe die Auswahl über

Private Sub ListBox1_Click()
End Sub


Nochmals vielen Dank für die ganzen Lösungsansätze.
MFG Andre

Anzeige
AW: Datum in Listenfeld auswählen
03.08.2008 10:18:00
Tino
Hallo,
du brauchst doch nur eine Tabelle mit einer ListBox1 und einem Button,
dem Button weist du dass Makro „txt_ReadLine“ zu.
Du solltest nach dem drücken auf den Button, in deiner Listbox die gefilterten Daten deiner Textdatei bekommen ohne doppelte Einträge.
Gruß Tino

www.VBA-Excel.de


301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige