Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per sostituzione formule excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro per sostituzione formule excel

Postdi simo.salta » 07/04/17 12:32

Buongiorno a tutti,
avrei gentilmente bisogno per la creazione di una macro che faccia una "semplice" operazione (sono 3 giorni che non ci cavo un ragno dal buco...) di sostituzione di formule. Mi spiego meglio. Nei files dove devo effettuare la sostituzione (ne allego 1) sono presenti 4 fogli di lavoro e il quarto è quello interessato dalla sostituzione. Le sostituzioni da effettuare (nelle celle sono già presenti delle formule) sarebbero le seguenti: (nel file in allegato https://we.tl/sWanRYYJmS sono presenti solo le prime 4 formule a titolo di esempio)

cella j 135 "=SE.ERRORE(E98;"")"
cella j136 "=SE.ERRORE(F98-F99;"")"
cella m135 "=SE.ERRORE(E98;"")"
cella m136 "=SE.ERRORE(F98-F104;"")"

cella j293 "=SE.ERRORE(E254;"")"
cella j294 "=SE.ERRORE(F254-F255;"")"
cella m293 "=SE.ERRORE(E254;"")"
cella m294 "=SE.ERRORE(F254-F260;"")"

I files da trattare sono tanti e li ho messi tutti in una specifica directory.
Al termine di questo processo dovrei estrarre da ogni singolo file il testo restituito nelle celle a143 e a299 del foglio 4 e fare in modo che vengano scritte su un altro files in tabella con indicato il riferimento del file da cui sono state estrapolate. (anche qui non ci cavo niente, se non il sentirmi una capra "cit.").
Ringrazio infinitamente per qualsiasi consiglio di cuore.
simo.salta
Newbie
 
Post: 3
Iscritto il: 07/04/17 12:01

Sponsor
 

Re: Macro per sostituzione formule excel

Postdi simo.salta » 10/04/17 14:45

Il punto in cui sono arrivato è questo (2 macro differenti, una creata con il registratore) ma non riesco a sbloccarmi. Potreste gentilmente aiutarmi?
Credo che il problema sia nella selezione del foglio di lavoro nel file specifico.
1)
Codice: Seleziona tutto
Sub sostituzione()
Dim oExcel As Excel.Application
Dim strFile As String
Dim mFoglio As Worksheet
Set oExcel = New Excel.Application

mFolder = "C:\Users\User\Desktop\Excel (.xlsx)\"
strFile = Dir(mFolder & "*.xls")
Do While strFile <> ""
MsgBox "Ho aperto il file: " & strFile
    oExcel.Workbooks.Open mFolder & strFile
    For Each mFoglio In oExcel.Worksheets
    Range("J135").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(R[-37]C[-5],"""")"
    Range("J136").Select
    ActiveWindow.SmallScroll Down:=9
    Range("J136").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(R[-38]C[-4]-R[-37]C[-4],"""")"
    Range("J137").Select
    ActiveWindow.SmallScroll Down:=9
    Range("M135").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(R[-37]C[-8],"""")"
    Range("M136").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(R[-38]C[-7]-R[-32]C[-7],"""")"
    Range("M137").Select
    ActiveWindow.SmallScroll Down:=9
    Next
    oExcel.ActiveWorkbook.Close True
    strFile = Dir
Loop
oExcel.Quit
Set oExcel = Nothing
End Sub


2)
Codice: Seleziona tutto
Sub sostituzione()
Dim oExcel As Excel.Application
Dim strFile As String
Dim mFoglio As Worksheet
Set oExcel = New Excel.Application

mFolder = "C:\Users\User\Desktop\Excel (.xlsx)\"
strFile = Dir(mFolder & "*.xlsx")

Do While strFile <> ""
MsgBox "Ho aperto il file: " & strFile
    oExcel.Workbooks.Open mFolder & strFile
    For Each mFoglio In oExcel.Worksheets
     Cells.Replace What:="Comune:", Replacement:="Ciao", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
        ReplaceFormat:=False
    Next
    oExcel.ActiveWorkbook.Close True
    strFile = Dir
Loop
oExcel.Quit
Set oExcel = Nothing
End Sub
simo.salta
Newbie
 
Post: 3
Iscritto il: 07/04/17 12:01

Re: Macro per sostituzione formule excel

Postdi patel » 12/04/17 14:52

tu hai scritto
Codice: Seleziona tutto
For Each mFoglio In oExcel.Worksheets
.....
....
Next

ma poi mfoglio non lo usi mai quindi
Codice: Seleziona tutto
mfoglio.Cells.Replace .....
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03


Torna a Applicazioni Office Windows


Topic correlati a "Macro per sostituzione formule excel":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti