
Sub Inserisci_Formula()
Dim Wkb As Workbook, Formula As String, percorso As String, Nome As String
Dim Oggetto As Object, Cartella As Object, File_excel As Object, Est As String
Application.ScreenUpdating = False
percorso = ThisWorkbook.Path
Set Oggetto = CreateObject("Scripting.FileSystemObject")
Set Cartella = Oggetto.GetFolder(percorso)
Formula = "=SINISTRA(CELLA(#nomefile#);1)"
On Error GoTo prossimo
For Each File_excel In Cartella.Files
Nome = File_excel.Name
If File_excel.Name <> ThisWorkbook.Name Then
Workbooks.Open(percorso & "" & Nome).Sheets(28).Range("A3").FormulaLocal = Replace(Formula, "#", Chr(34))
ActiveWorkbook.Close True
End If
prossimo:
Next
Application.ScreenUpdating = True
MsgBox "Formule inserite!"
End Sub |
Sub Posso()
' Dim Wkb As Workbook, questa riga non serve variabile non utilizzata
Dim Formula As String ' questa variabile secondo me è superflua se devi solo scrivere ipertensione
Dim percorso As String, Nome As String
Dim Oggetto As Object, Cartella As Object, File_excel As Object ', Est As String Est variabile non utilizzata
Application.ScreenUpdating = False
percorso = ThisWorkbook.Path
Set Oggetto = CreateObject("Scripting.FileSystemObject")
Set Cartella = Oggetto.GetFolder(percorso)
Formula = "IPERTENSIONE"
On Error GoTo prossimo
For Each File_excel In Cartella.Files
Nome = File_excel.Name
If File_excel.Name <> ThisWorkbook.Name Then
Workbooks.Open(percorso & "" & Nome).Sheets("Vuoto").Range("A2").FormulaLocal = Replace(Formula, "#", Chr(34))
' perchè usi la funzione replace? potresti benissimo inserire solo la scritta ipertensione
'.....Formula = "IPERTENSIONE" ed eliminare anche la variabile funzione
'elimina tutti i select, non servono
Sheets("vuoto").Range("A2").EntireRow.Insert
Sheets("vuoto").Range("A4").EntireRow.Insert
Sheets("vuoto").Range("A3").Font.Bold = True
With Sheets("vuoto").Range("A3").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
'.TintAndShade = 0
'.PatternTintAndShade = 0
End With
'Application.WindowState = xlMinimized elimina non ti serve stai per chiudere
ActiveWorkbook.Close True
End If
prossimo:
Next
Application.ScreenUpdating = True
MsgBox "Formule inserite!"
End Sub
|
Sub Posso()
Dim Wkb As Workbook,
[...]
set Wkb = Workbooks.Open(percorso & "" & Nome)
Wkb.Sheets("Vuoto").Range("A2").Formula="Ipertensione"
Wkb.Sheets("Dati").Range("L16").Formula="Ciao"
[...]
Wkb.Close True
End If
prossimo:
Next
Application.ScreenUpdating = True
MsgBox "Formule inserite!"
End Sub |
