Ciao a tutti chi mi aiuta a modificare questa macro ?
vorrei che lanciando la macro aggiorni / sovrascriva i dati ogni volta che eseguo la query nel medesimo foglio.
la fonte di origine e'un foglio di excel sempre con il medesimo nome.
il foglio excel di destinazione dove voglio l' aggiornamento dei dati deve partire dalla colonna B perche' in A ci sono delle formule che non devono essere cancellate / sovra scritte e non deve mai cambiare nome
grazie
/-/-/-
Sub OK()
'
' OK Macro
'
risposta = MsgBox("Vuoi eseguire ?", vbYesNo + vbDefaultButton2)
If risposta = vbNo Then
Exit Sub
End If
For x = 1 To Sheets.Count
If Sheets(x).Name = Range("DATA_INPUT") Then
MsgBox "data presente"
Exit Sub
End If
Next x
test_prec = "ko"
For x = 1 To Sheets.Count
If Sheets(x).Name = Range("dataprec") Then
test_prec = "ok"
Exit For
End If
Next x
If test_prec = "ko" Then
MsgBox "data precedente mancante"
Exit Sub
End If
Application.DisplayAlerts = False
Application.ScreenUpdating = False
NOME_CARTELLA = ActiveWorkbook.Name
Application.Calculation = xlManual
NOMEFILE = Range("DIR_INPUT") & Range("DATA_INPUT") & "" & Range("FILE_INPUT")
Workbooks.Open Filename:=NOMEFILE
NOME_FILE = ActiveWorkbook.Name
Sheets("F7 Dett_GM_A").Select
Cells.Select
Selection.Copy
Windows(NOME_CARTELLA).Activate
Sheets.Add After:=ActiveSheet
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Name = Range("DATA_INPUT") & "_A"
Windows(NOME_FILE).Activate
ActiveWorkbook.Close
Windows(NOME_CARTELLA).Activate
Sheets("Confronto").Select
Application.Calculation = xlCalculationAutomatic
ActiveWorkbook.Save
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sub PTF_B()
'
' PTF_B Macro
' PTF TIPO B
'
risposta = MsgBox("Vuoi eseguire ?", vbYesNo + vbDefaultButton2)
If risposta = vbNo Then
Exit Sub
End If
For x = 1 To Sheets.Count
If Sheets(x).Name = Range("DATA_INPUT") Then
MsgBox "data presente"
Exit Sub
End If
Next x
test_prec = "ko"
For x = 1 To Sheets.Count
If Sheets(x).Name = Range("dataprec") Then
test_prec = "ok"
Exit For
End If
Next x
If test_prec = "ko" Then
MsgBox "data precedente mancante"
Exit Sub
End If
Application.DisplayAlerts = False
Application.ScreenUpdating = False
NOME_CARTELLA = ActiveWorkbook.Name
Application.Calculation = xlManual
NOMEFILE = Range("DIR_INPUT") & Range("DATA_INPUT") & "" & Range("FILE_INPUT")
Workbooks.Open Filename:=NOMEFILE
NOME_FILE = ActiveWorkbook.Name
Sheets("F8 Dett_GM_B").Select
Cells.Select
Selection.Copy
Windows(NOME_CARTELLA).Activate
Sheets.Add After:=ActiveSheet
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Name = Range("DATA_INPUT") & "_B"
Windows(NOME_FILE).Activate
ActiveWorkbook.Close
Windows(NOME_CARTELLA).Activate
Sheets("Confronto").Select
Application.Calculation = xlCalculationAutomatic
ActiveWorkbook.Save
Application.DisplayAlerts = True
Application.ScreenUpdating = True
'
End Sub
Sub gestori()
'
' gestori Macro
' ana_gestori
risposta = MsgBox("Vuoi eseguire ?", vbYesNo + vbDefaultButton2)
If risposta = vbNo Then
Exit Sub
End If
For x = 1 To Sheets.Count
If Sheets(x).Name = Range("DATA_INPUT") Then
MsgBox "data presente"
Exit Sub
End If
Next x
test_prec = "ko"
For x = 1 To Sheets.Count
If Sheets(x).Name = Range("dataprec") Then
test_prec = "ok"
Exit For
End If
Next x
If test_prec = "ko" Then
MsgBox "data precedente mancante"
Exit Sub
End If
Application.DisplayAlerts = False
Application.ScreenUpdating = False
NOME_CARTELLA = ActiveWorkbook.Name
Application.Calculation = xlManual
NOMEFILE = Range("DIR_IMPUT_GM") & "" & Range("FILE_INPUT_GM")
Workbooks.Open Filename:=NOMEFILE
NOME_FILE = ActiveWorkbook.Name
Sheets("QUERY_FOR_ANA_GESTORI_MISTI1").Select
Cells.Select
Selection.Copy
Windows(NOME_CARTELLA).Activate
Sheets.Add After:=ActiveSheet
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Name = Range("DATA_INPUT") & "_Ana_GM"
Windows(NOME_FILE).Activate
ActiveWorkbook.Close
Windows(NOME_CARTELLA).Activate
Sheets("Confronto").Select
Application.Calculation = xlCalculationAutomatic
ActiveWorkbook.Save
Application.DisplayAlerts = True
Application.ScreenUpdating = True
'
End Sub