Buongiorno a tutti.
Chiedo il vostro aiuto per poter capire come, seppur creata una routine che mi effettua la sostituzione di un determinato carattere in una intera colonna, non va a buon fine.
Cioè, sono costretto ad aprire il file sul quale vengono copiati dei dati tramite altra routine ed effettuare Il metodo Replace con il classico menu Trova e sostituisci.
La routine che esporta dei dati in un altro file è la seguente:
Public Sub Incolla_Dati()
'dichiaro le variabili
Dim WK1 As Workbook
Dim WK2 As Workbook
Dim SH1 As Worksheet
Dim SH2 As Worksheet
Dim LastRow As Long
'gestione errori
On Error GoTo RigaErrore
Application.ScreenUpdating = False
'metto i riferimenti ai files
Set WK1 = ThisWorkbook
Set WK2 = Workbooks.Open(WK1.Path & "/" & "Bonifici XML.xlsx")
'metto i riferimenti ai fogli
Set SH1 = WK1.Worksheets("Foglio1")
Set SH2 = WK2.Worksheets("Foglio1")
With SH1
'Columns("C:C").Select
'Selection.Replace What:=",", Replacement:=",", LookAt:=xlPart, _
'SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
'ReplaceFormat:=False
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
'copio i dati da un file all'altro
.Range("A2:K" & LastRow).Copy 'Destination:=sh2.Range("A2")
SH2.Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("A:A").Select
Selection.NumberFormat = "m/d/yyyy"
Columns("A:K").HorizontalAlignment = xlCenter
Call Macro11
End With
'salvo le modifiche al file Bonifici XML.xlsx
WK2.Save
'chiudo il file Bonifici XML.xlsx
WK2.Close
MsgBox "Ok! Copia effettuata con successo" & Chr(13) & _
"Il file Bonifici è pronto per il Pagamento", vbInformation
Application.ScreenUpdating = True
'riga sempre eseguita
RigaChiusura:
'Set a Nothing delle variabili oggetto
Set SH2 = Nothing
Set SH1 = Nothing
Set WK1 = Nothing
Set WK2 = Nothing
Exit Sub
'in caso di errore
RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura
End Sub
Questa invece è la macro che effettua la sostituzione del carattere:
Sub Macro11()
Worksheets("Foglio1").Columns("C").Replace _
What:=",", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Come potete notare dalla 1^ routine ho provato ad inserirla all'interno la funzione di sostituzione carattere, fiducioso di aver risolto definitivamente il problema.
Ho successivamente creato la macro11 con la stessa finalità richiamandola all'interno della stessa routine ma non effettua la sostituzione e sono costretto a procedere nel modo segnalato inizialmente.
Attendo con fiducia il vostro professionale consiglio e/o aiuto per poter risolvere il mio problema.
Ringrazio chi mi aiuta in questo.
Ciao, Nicola.