Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
no così non va...
mi trasla il foglio a destra
Prova così:
Public Sub m()
'gestione errori
On Error GoTo RigaErrore
'dichiaro le variabili
Dim sPathNome As Variant
'richiamo la finestra Apri e passo alla
'stringa la path completa ed il nome
'del file selezionato
sPathNome = Application.GetOpenFilename( _
"File di testo (*.txt; *.csv),*.txt; *csv", _
, "Selezionare il file")
Application.ScreenUpdating = False
With ActiveSheet
.Range("A:C").EntireColumn.Delete
'se è stato selezionato un file
If sPathNome <> False Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & sPathNome, _
Destination:=Range("A2"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(2, 2, 2)
.TextFileFixedColumnWidths = Array(5, 15)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If
.Range("A1").Value = "testo che vuoi in A1"
.Range("B1").Value = "testo che vuoi in B1"
.Range("C1").Value = "testo che vuoi in C1"
.Columns(1).ColumnWidth = 25
.Columns(1).HorizontalAlignment = xlCenter
.Columns(2).ColumnWidth = 20
.Columns(2).HorizontalAlignment = xlCenter
.Columns(3).ColumnWidth = 35
.Columns(3).HorizontalAlignment = xlCenter
Application.CutCopyMode = False
End With
'codice sempre eseguito
RigaChiusura:
Application.ScreenUpdating = True
Exit Sub
'in caso di errore
RigaErrore:
'visualizzo una MsgBox con i dati dell'errore
MsgBox Err.Number & vbNewLine & Err.Description
'vado alla riga di chiusura
Resume RigaChiusura
End Sub
Dove:
.Range("A:C").EntireColumn.Delete '<<<=== elimino tre colonne(vedi tu se devi eliminarne di più)
e dove:
.Range("A1").Value = "testo che vuoi in A1" '<<<=== il testo che devo inserire in A1, B1, C1(vedi tu se sono di più)
.Range("B1").Value = "testo che vuoi in B1"
.Range("C1").Value = "testo che vuoi in C1"
.Columns(1).ColumnWidth = 25 '<<<=== dimensiono le colonne(1 per A, 2 per B, 3 per C)
.Columns(1).HorizontalAlignment = xlCenter '<<<=== centro il testo nelle colonne
.Columns(2).ColumnWidth = 20
.Columns(2).HorizontalAlignment = xlCenter
.Columns(3).ColumnWidth = 35
.Columns(3).HorizontalAlignment = xlCenter
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)