• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Ingelezen .txt file vanaf rij 4 wegschrijven

Status
Niet open voor verdere reacties.

gbvdh

Gebruiker
Lid geworden
14 feb 2007
Berichten
111
Goedendag aan een ieder,

Ik ben bezig een tekstfile in te lezen in excel met behulp van vba, lukt allemaal prima op deze manier:
Code:
    Dim sFile As String
    Dim sInput As String
    Dim lFNum As Long
    Dim vaFields As Variant
    Dim i As Long
    Dim lRow As Long
    Dim vaStrip As Variant
    
    Const sDELIM = "," 'Set the delimeter
    
    lFNum = FreeFile
    sFile = "C:\Test.txt"
    vaStrip = Array(vbLf, vbTab) 'list the text to strip
    
    'Open the file
    Open sFile For Input As lFNum
    
    'Loop through the file until the end
    Do While Not EOF(lFNum)
        Line Input #lFNum, sInput 'input the current line
             
        'split the text based on the delimeter
        vaFields = Split(sInput, sDELIM)
        lRow = lRow + 1
        
        'Write to the worksheet
        For i = 0 To UBound(vaFields)
            Blad1.Cells(lRow, i + 1).Value = vaFields(i)
        Next i
    Loop
    
    Close lFNum

Hierbij wordt alleen de file in excel weggeschreven vanaf cel A1, het zou mooi zijn als dit zou kunnen vanaf cel A4. En dat krijg ik dus niet voor elkaar, ik krijg het wel opgeschoven naar D1, maar daar heb ik niks aan. Is er iemand die ziet hoe ik het vanaf A4 kan wegschrijven?

Daarnaast heb ik nog een puntje, in de code staat dat het bestand C:\Test.txt wordt geopend, is het mogelijk in VBA zoiets te maken dat ik het bestand in het programma van mijn harde schrijf kan selecteren of moet dit altijd in de code ingevoerd zijn?

Barry
 
IRow op 4 zetten voordat je de functie Do While start ?
 
Dat werkt prima inderdaad, danke

Is er misschien nog een oplossing voor de 2e vraag?
Daarnaast heb ik nog een puntje, in de code staat dat het bestand C:\Test.txt wordt geopend, is het mogelijk in VBA zoiets te maken dat ik het bestand in het programma van mijn harde schrijf kan selecteren of moet dit altijd in de code ingevoerd zijn?
 
De bestandslokatie kan vast opgegeven worden zoals in je code, je kunt ook verwijzen naar een enigszins variabele locatie. Dit doe je met :

Code:
sDir = ActiveWorkbook.Path & "\[directory\]bestandsnaam"

Hiermee verwijs je naar de directory waar het excelsheet in staat.
 
Op een ander forum kwam ik deze code tegen
Code:
Sub opnfile()
 
NewFN = Application.GetOpenFilename(FileFilter:="Text Files (*.txt), *.txt", _
Title:="Please select a file")
 
If NewFN = False Then
    'Your code if they pressed Cancel
    Exit Sub
Else
    'Your code if they select the text file to open
End If
 
End Sub

Hiermee opent een window als met "Ctrl O" zodat ik een bestand kan selecteren. Precies wat ik zocht dus:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan