Condividi tramite

Creare tabella di dati da blocconote a excel.

Anonimo
2014-04-09T10:55:44+00:00

Sale mi rivolgo a Voi per disperazione ....

ho dei dati in blocconote e vorrei incollalarle in excel 2013 al fine di creare una tabella.

Il problema che i dati sono riportati in righe diverse, es.

Nome

Indirizzo

Categoria

dal momento che copio e incollo speciale excel mi dice se deve dividerle per spazi, virgole ..... io vorrei una colonna per ogni riga.

Come posso fare?

Grazie anticipatamente Giuseppe

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-04-11T07:41:08+00:00

Mauro, grazie.

Questa volta non riesco nemmeno a far partire la macro, ctr+a.

l'operazione che svolgo è la seguente:

prendo il tuo zip, estraggo in una cartella exc., lo apro dgt. alt+f11, sost, sostituisco l'editor, salvo, ma quando clicco ctr+a non succede nulla.

Giuseppe

Segui:

  • Nuovo file di Excel
  • Salvalo come .xlsm
  • Il file .txt deve trovarsi nella stessa directory
  • ALT+F11 e sei nell'editor del vb
  • Inserisci
  • Modulo
  • Copia/incolla la macro nel foglio bianco
  • ALT+F11 e torni in Excel
  • ALT+F8 e visualizzi la finestra Macro
  • Seleziona la macro
  • Pulsante Esegui
  • Fatto (qui circa 1 secondo e mezzo, 2

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-04-10T08:26:01+00:00

fatto, garzie

Modifica così la macro:

Public Sub m()

    Const ForReading As Long = 1

    Dim objFSO As Object

    Dim objTextFile As Object

    Dim sh As Worksheet

    Dim lRiga As Long

    Dim lCol As Long

    Dim s As String

    Set objFSO = CreateObject( _

        "Scripting.FileSystemObject")

    Set objTextFile = objFSO.OpenTextFile _

        (ThisWorkbook.Path & "\uno.txt", ForReading)

    Set sh = ThisWorkbook.Worksheets("Foglio1")

    lRiga = 1

    lCol = 1

    With sh

        Do Until objTextFile.AtEndOfStream

            s = CStr(objTextFile.Readline)

            If s <> "" Then

                .Cells(lRiga, lCol).Value = s

                lCol = lCol + 1

            Else

                lRiga = lRiga + 1

                lCol = 1

            End If

        Loop

        .Range("A1:G" & lRiga).Sort _

            Key1:=Range(.Range("A1").Address), _

            Order1:=xlAscending, Header:=xlNo, _

            OrderCustom:=1, MatchCase:=False, _

            Orientation:=xlTopToBottom, _

            DataOption1:=xlSortNormal

    End With

    Set sh = Nothing

    Set objTextFile = Nothing

    Set objFSO = Nothing

End Sub


NOTA. Per chi avesse seguito il post, la struttura del file di testo era complessa. Vi erano blocchi di indirizzi di 6 o 7 righe, separati da un numero variabile di spazi bianchi.

La risposta è stata utile?

0 commenti Nessun commento

12 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-04-09T17:07:09+00:00

    Cmq grazie, se riuscissi ad inviarti il mio file txt sarebbe veramente la migliore soluzione., ma non so come fare.

    I dati NON saranno disposti sul file .txt come li avevi raccontati...

    Manda il file .txt qui:

    maurogsc

    chiocciola

    alice.it

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-04-09T17:00:00+00:00

    Grazie Mauro, sei un Grande.

    la tua macro ha funzionato in parte.

    E' venuto un fuori un guazzabuglio.

    ti spiego cosa ho fatto.

    Ho scompattato e inserito i tuoi file in una nuova cartella.

    Ho copiato il contenuto del mio file txt nel tuo "uno.txt".

    Ho attivato la macro nel foglio excel e come d'incanto sono comparsi i miei dati, solo che c'è un debug e i dati non sono incolonnati come vorrei io. Sono certo che non dipende da te o dalla tua macro.

    Cmq grazie, se riuscissi ad inviarti il mio file txt sarebbe veramente la migliore soluzione., ma non so come fare.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-04-09T15:27:37+00:00

    Sale mi rivolgo a Voi per disperazione ....

    ho dei dati in blocconote e vorrei incollalarle in excel 2013 al fine di creare una tabella.

    Il problema che i dati sono riportati in righe diverse, es.

    Nome

    Indirizzo

    Categoria

    Questa macro, se ho capito quello che vuoi fare, dovrebbe risolvere:

    Public Sub m()

        Const ForReading As Long = 1

        Dim objFSO As Object

        Dim objTextFile As Object

        Dim sh As Worksheet

        Dim lRiga As Long

        Dim lCol As Long

        Set objFSO = CreateObject( _

            "Scripting.FileSystemObject")

        Set objTextFile = objFSO.OpenTextFile _

            (ThisWorkbook.Path & "*uno.txt*", ForReading)

        Set sh = ThisWorkbook.Worksheets("Foglio1")

        lRiga = 1

        With sh

            Do Until objTextFile.AtEndOfStream

                For lCol = 1 To 3

                    Cells(lRiga, lCol).Value = objTextFile.Readline

                Next

                lRiga = lRiga + 1

            Loop

        End With

        Set sh = Nothing

        Set objTextFile = Nothing

        Set objFSO = Nothing

    End Sub

    Modifica il nome del foglio (qui Foglio1) ed il nome del file (qui uno.txt) con i tuoi. Il file di testo DEVE trovarsi nella stessa directory del file di Excel. E' da copia/incollare in un modulo standard.

    Qui trovi il file utilizzato per l'esempio(c'è anche il file di testo):

    Se non hai mai utilizzato il vb di Excel, vedi qui:

    La risposta è stata utile?

    0 commenti Nessun commento