Salve a tutti
Volevo sapere se era possibile spostarsi all'interno di un foglio Excell tramite non comandi Range.Select, ma tramite semplici operazioni matematiche.
Spiego meglio: Mi trovo all'interno di un data base Excell, all'interno del quale è presente un codice che è diverso per ogni cliente. Accanto alla casella del codice ho il nome del cliente, sotto il luogo in cui è l'azienda e poi sempre accanto altri dati.
In pratica:

000154(1A);Gino(1B);Carote(1C)
Firenze(2B)
000155(3A);Luigi(3B);Mele(3C)
Roma(4B)

con Roma(4B) => 4 = riga; B = colonna

Per ogni cliente è necessario stampare un modulo. Faccio ciò copiando e incollando tali dati dal data base ad un altro folgio excell in cui è gia presente il layout del modulo. Tramite quindi copia/incolla completo tale modulo e poi cancello i dati inseriti. In pratica parlando in VB6 userei:

codice:
' Dal Foglio DATA BASE, seleziona il CODICE CLIENTE e copiami il contenuto in PROSPETTI
    Worksheets("DATA BASE").Range("B462").Copy
    Worksheets("PROSPETTI").Range("Q1").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
' Dal Foglio DATA BASE, seleziona il CLIENTE e copiami il contenuto in PROSPETTI
    Worksheets("DATA BASE").Range("C462:C463").Copy
    Worksheets("PROSPETTI").Range("M2:M3").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
' Dal Foglio DATA BASE, seleziona la ZONA e copiami il contenuto in PROSPETTI
    Worksheets("DATA BASE").Range("E462:E463").Copy
    Worksheets("PROSPETTI").Range("A10:A11").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
' Dal Foglio DATA BASE, seleziona il LUOGO e copiami il contenuto in PROSPETTI
    Worksheets("DATA BASE").Range("G462:AT463").Copy
    Worksheets("PROSPETTI").Range("A12:B51").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=True
'Ritorna a DATA BASE, seleziona la casella e copiami il contenuto.
    Worksheets("DATA BASE").Range("F463").Copy
    Worksheets("PROSPETTI").Range("B6").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
' Selezionami il folgio del PROSPETTO di interesse e stampami quello che ho selezionato due volte
    Sheets("PROSPETTI").Select
    Range("A1:Q56").Select
    Application.CutCopyMode = False
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,1,,,TRUE,,FALSE)"
' Cancellami solo il testo che prima avevo inserito in PROSPETTI
    Worksheets("PROSPETTI").Range("Q1","M2:M3","A10:A11","R12:S51","A12:B51","B6").ClearContents
Il punto è che di clienti ce ne sono più di 2000 di conseguenza dovrei creare 2000 macro con tutti i range diversi. E al sol pensiero ho già i crampi alla mano. VVoVe:
Di conseguenza avrei pensato a fare un unica macro che tramite il comando
Cells.Find(What:="000154").Activate
trovi prima la cella corrispondente selezionandola e poi da questa, tramite dei comandi Moveleft, Movedown, se ne vada in giro a copiare/incollare il tutto.
A questo punto quindi mi servirebbero solo due macro una con box con comando trova che una volta trovato il codice si collega all'altra macro del copia incolla, che è uguale per tutti in quanto il data base presenta la stessa simmetria per tutti i clienti. Spero sia stato chiaro.
Qundi in conclusione come posso muovermi all'interno del foglio senza utilizzare delle "coordinate" per ogni singola cella??