Trasponi le colonne in righe durante l'importazione in Excel


0

Ho un file di testo con molte più colonne di quelle consentite in Excel, quindi vorrei trasporre i dati in colonne durante l'importazione in Excel . Qualche idea su come posso farlo?

Risposte:


1

EDIT ha trovato un modo migliore, quindi il codice aggiornato

Probabilmente è meglio scrivere una macro VBA per fare l'importazione.

Ecco un antipasto per te. Tieni presente che sarà necessario apportare alcune modifiche per soddisfare i tuoi dati.

Sub ImportTranspose()
    Dim fso As New FileSystemObject
    Dim txtFile As TextStream
    Dim col As Long
    Dim dat As Variant
    Dim sh As Worksheet

    Set sh = ActiveSheet
    Set txtFile = fso.OpenTextFile("C:\Tmp\SampleData.txt")
    col = 1
    Do While Not txtFile.AtEndOfStream
        dat = Application.Transpose(Application.Index(Split(txtFile.ReadLine, ","), 1, 0))
        sh.Cells(1, col).Resize(UBound(dat), 1) = dat
        col = col + 1
    Loop

CleanUp:
    On Error Resume Next
    txtFile.Close
    Set txtFile = Nothing
    Set fso = Nothing
End Sub

Appunti:

  1. Presuppone che tutte le righe nel file di dati siano separate da virgola
  2. Non include la gestione degli errori
  3. Mette i dati nel foglio attivo, iniziando dalla cella A1 e sovrascrive tutti i dati esistenti
  4. Nome e posizione del file con codice fisso: cambia in base alle esigenze o aggiungi una finestra di dialogo Ottieni file
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.