Salve, ho un file excel composto da due fogli : un MASTER e un APPOGGIO.
Nel foglio MASTER ci sono una serie di valori; in una delle colonne, c'è il valore discriminante (Filiale).
L'intervallo delle celle (ad es. A:G oppure A:L) e anche il valore dove risiede il campo Filiale può trovarsi nella colonna A oppure una qualsiasi altra dell'intervallo.
Attualmente con una macro (che vado ad adattare volta per volta) scompatto il file originale in tanti sub-file che chiamo Master_1 - Master_2 ecc... tramite il foglio APPOGGIO.
IL PROBLEMA E' :
Come faccio a creare delle variabili che tramite InputBox l'utente personalizza che evitino l'editazione manuale della macro ???
Tipo :
1) Di quante colonne è composto il foglio ?
2) Qual'è la cella dove trovo il campo filiale ?
L'attuale macro è la seguente : (in questo caso l'intervallo è A:G e la colonna di riferimento è B)
Sub Spacchetta()
Dim Target As String
Sheets("Master").Select
Cells.Select
Selection.Copy
Sheets("Appoggio").Select
Cells.Select
ActiveSheet.Paste
Range("A1").Select
ActiveCell.CurrentRegion.Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Do 'While Target <> ""
riga = 1
Range("B2").Select
Target = ActiveCell.Value
Do While Target = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
riga = riga + 1
If Target = "" Then
Exit Do
End If
Loop
If Target = "" Then
Exit Do
End If
Rows("1:" & riga).Select
Selection.Copy
Workbooks.Add
Range("A1").Select
ActiveSheet.Paste
Columns("A:G").Select
Columns("A:G").EntireColumn.AutoFit
Range("A1").Select
ActiveWorkbook.SaveAs Filename:="C:\Temp\Master_" & Target & ".xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Range("A2").Select
ActiveWorkbook.Close
Rows("2:" & riga).Select
Selection.Cut
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A2").Select
Loop 'While Target <> ""
End Sub