come da oggetto, vorrei far in modo di attivare un foglio excel assegnandogli una variabile, per evitare di dover riportarlo nella macro ogni volta, ma solo una volta quando dichiaro la variabile.
ho creato le variabili e le ho dichiarate, ma se vado a sostituirle al nome completo del file, va in debug
cioè, per spiegarmi bene, se al posto di
Windows("gestione 05-2017.xlsx").Activate
scrivo Windows("wks1.xlsx").Activate
non funziona e va in errore.
la stessa cosa in quest'altra istruzione
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'[Resoconto 05-2017.xlsx]Table11'!C3:C8,6,0)"
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'[wks2.xlsx]Table11'!C3:C8,6,0)"
questa è la macro
- Codice: Seleziona tutto
Sub CIR_NUOVO()
'
' Macro1 Macro
' <<<<<<<<<<<<<<<<<<<<<<< ricordati di cambiare il nome file col mese corrente
'
Dim wks1 As String
Dim wks2 As String
wks1 = "C:\gestione 05-2017.xlsx"
wks2 = "C:\resoconto 05-2017.xlsx"
Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.NumberFormat = "General"
Range("C2").Select
Workbooks.Open Filename:=wks2, ReadOnly:=False
Windows("gestione 05-2017.xlsx").Activate
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'[Resoconto 05-2017.xlsx]Table11'!C3:C8,6,0)"
Range("C2").Copy Destination:=Range("C2:C" & Range("B" & Rows.Count).End(xlUp).Row)
Cells.Select
Cells.EntireColumn.AutoFit
Selection.AutoFilter
Range("C2").Select
ActiveSheet.Range("A:Q").AutoFilter Field:=3, Criteria1:= _
"VIO - CIR cliente irreperibile"
ActiveSheet.Range("A:Q").AutoFilter Field:=12, Criteria1:="<>"
Cells.Select
Range("J1").Activate
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Workbooks.Add
Windows("gestione 05-2017.xlsx").Activate
Windows("Cartel1").Activate
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.Select
Cells.EntireColumn.AutoFit
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("L:O").Select
Selection.Delete Shift:=xlToLeft
Windows("gestione 05-2017.xlsx").Activate
ActiveWindow.Close SaveChanges:=False
Range("A2").Select
MsgBox ("Tutto Completato.....")
End Sub