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
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 <= lngEnde
lngCounter = lngCounter + 1
ReDim Preserve arrDaten(1 To 4, 1 To lngCounter)
arrDaten(1, lngCounter) = arrTmp(0) * 1
arrDaten(2, lngCounter) = arrTmp(1) * 1
arrDaten(3, lngCounter) = arrTmp(2)
arrDaten(4, lngCounter) = arrTmp(3) * 1
End Select
Loop
Close iFree
Sheets(2).Range("a1").Resize(lngCounter, 4) = WorksheetFunction.Transpose(arrDaten)
End Sub
Tino, hast Du vielleicht eine Bsp.xls
Ich hoffe, das Ihr mir weiter helfen könnt.
MFG Andre
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
Private Sub ListBox1_Click()
End Sub
Nochmals vielen Dank für die ganzen Lösungsansätze.
MFG Andre