Importazione file txt



  • Importazione file txt
    di Maul76 data: 25/10/2011

    Ciao a tutti, sono nuovo, navigando qua è la in rete mi sono fatto una macro per importare dei file in formato testo in excel, funziona guasi perfettamente ma per due colonne non mi da il risultato che vorrei.vi scrivo il codice e in particolare vorrei che:
    nella collonna dell ean13 apparissero i numeri e non 8,01282e+12 e nella colonna data apparisse la data con lo "/" tra giorno/mese/anno.
    sicuramente è un valore sbagliato che ho dato nel vba, sapreste aiutarmi?
     
    Sub LeggiMetel()
        'On Local Error Resume Next
        On Error GoTo errore
        
            Dim InputData As String
            Dim Articolo As String
            Dim EAN13 As String
            Dim Descrizione As String
            Dim Prezzo As Variant
            Dim Molt As String
            Dim UM As String
            Dim DATA As String
            Dim I As Integer
            
            Application.ScreenUpdating = False
            
            I = 4
            'MsgBox ThisWorkbook.Path
            Dim r As Range
            
            Sheets(1).Range("A" & CStr(I) & ":IV65536").Clear
            
            
            'Open "c:FINLSP 01-05-11.TXT" For Input As #1
            Open ThisWorkbook.Path & "FINLSP 01-05-11.TXT" For Input As #1
            
            Do While Not EOF(1)
            
            Line Input #1, InputData
            
            Articolo = Trim(Mid$(InputData, 1, 19))
            EAN13 = Trim(Mid$(InputData, 20, 13))
            Descrizione = Trim(Mid$(InputData, 33, 43))
            Prezzo = Val(Trim(Mid$(InputData, 109, 11.2))) / 100
            Molt = Trim(Mid$(InputData, 120, 6))
            UM = Trim(Mid$(InputData, 129, 3))
            DATA = Trim(Mid$(InputData, 134, 8))
            
            If I > 1 Then
            With Sheets(1)
                .Range("A" + CStr(I)).Value = Articolo
                .Range("B" + CStr(I)).Value = EAN13
                .Range("C" + CStr(I)).Value = Descrizione
                .Range("D" + CStr(I)).Value = Prezzo
                .Range("E" + CStr(I)).Value = Molt
                .Range("F" + CStr(I)).Value = UM
                .Range("G" + CStr(I)).Value = DATA
            End With
            End If
            I = I + 1
            Loop
        Close #1
        
        Application.ScreenUpdating = True
        Exit Sub
        
    errore:
        Close #1
        MsgBox "Errore " & Err.Description
        
    End Sub


  • Cerca vert
    di Nexus (utente non iscritto) data: 25/10/2011

    Salve a tutti.
    su un foglio ho questi dati:

    riga 1
    data, importo, nome

    riga 2
    data, importo, nome

    supponiamo che nella cella "data" ho due valori uguali, nella funzione cerca vert.( il valore cercato è l'importo) il rusultato è sempre quello della riga 1.
    è possibile ottenere anche quello della riga 2?
    spero di essermi spiegato e un grazie a tutti.



  • di Teomacro (utente non iscritto) data: 25/10/2011

    Ciao, in teoria basta cambiare il formato delle celle in cui vai a scrivere i dati..vedi esempio
     
    ' esempio di formato testo nella cella A1
    Range(A1).NumberFormat =@
    
    ' esempio di formato data nella cella A1
    Range(A1).NumberFormat = "m/d/yyyy"