Grazie ad Anthony47 e a chi ha partecipato adesso ho un foglio di 271 sheet che scarica i dati da altrettante pagine internet che utilizzano script che prima del vostro aiuto mandavano in palla Excel (qui il Topic relativo se interessa capire: http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104115).
Adesso è venuto fuori un altro problema: alcuni dati numerici scaricati che mi servono stanno nella stessa cella insieme a del testo e questo avviene per tutte le 271 pagine di interesse.
Allora ho registrato la seguente macro sul foglio 1 che va proprio a dividere il testo dai numeri nelle sezioni dove mi serve farlo:
- Codice: Seleziona tutto
Sub CancTxt()
'
' CancTxt Macro
'
' Scelta rapida da tastiera: CTRL+c
'
Range("A1").Select
ActiveWindow.SmallScroll Down:=2
Range("B6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("E6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("H6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("K6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("A6").Select
Selection.TextToColumns Destination:=Range("A6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(9, 1), Array(85, 1)), TrailingMinusNumbers:= _
True
Range("D6").Select
Selection.TextToColumns Destination:=Range("D6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(6, 1), Array(96, 1)), TrailingMinusNumbers:= _
True
Range("G6").Select
Selection.TextToColumns Destination:=Range("G6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(6, 1), Array(157, 1)), TrailingMinusNumbers _
:=True
Range("J6").Select
Selection.TextToColumns Destination:=Range("J6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(85, 1)), TrailingMinusNumbers:= _
True
End Sub
La macro, per quanto non stilosa, fa quello che deve sul foglio1 e vorrei adesso che lo facesse per tutti i fogli dato che la zona da modificare è la medesima in tutti. Ho spulciato il forum ed ho trovato una precedente discussione sul tema (qui: http://www.pc-facile.com/forum/viewtopic.php?t=98239), ma non riesco a far funzionare il tutto.
Premetto che mi servirebbe anche che nel foglio 272, nel foglio 273 e nel foglio 274 la macro non venisse eseguita.
- Codice: Seleziona tutto
Sub CancTxt()
'
' CancTxt Macro
'
' Scelta rapida da tastiera: CTRL+c
'
For F = 1 To Worksheets.Count
If Sheets(F).Name <> "Foglio272" and Sheets(F).Name <> "Foglio273" And Sheets(F).Name <> "Foglio274" Then
'
Sheets(F).select
'
Range("A1").Select
ActiveWindow.SmallScroll Down:=2
Range("B6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("E6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("H6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("K6").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("A6").Select
Selection.TextToColumns Destination:=Range("A6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(9, 1), Array(85, 1)), TrailingMinusNumbers:= _
True
Range("D6").Select
Selection.TextToColumns Destination:=Range("D6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(6, 1), Array(96, 1)), TrailingMinusNumbers:= _
True
Range("G6").Select
Selection.TextToColumns Destination:=Range("G6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(6, 1), Array(157, 1)), TrailingMinusNumbers _
:=True
Range("J6").Select
Selection.TextToColumns Destination:=Range("J6"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(85, 1)), TrailingMinusNumbers:= _
True
End If <<<< qui cosa devo aggiungere? E in che forma?
Next F <<<< qui cosa devo aggiungere? E in che forma?
End Sub
E' la mia primissima volta di fronte ad un codice in VBA, scusate davvero se ci sono errori enormi e/o meno enormi, ma ci capisco niente proprio, non so neanche se ho messo nel modo giusto gli apostrofi (') nelle parti che ho modificato della macro registrata da Excel...
Grazie e scusate di nuovo per il disturbo, risolto questo passaggio dovrebbero essere terminati i problemi, in quanto i processi più complessi del foglio di calcolo sono conclusi.
Purtroppo io non posso ricambiare, quindi non posso essere un utente utile e attivo in questa parte del forum causa mia palese incompetenza So fare altro, ma qui non credo che serva!