Newsgroup: it.comp.lang.visual-basic
Titolo: Riferimento a cella in Excel

All'interno di una sub vado ad inserire questo codice
NomeScheda = ActiveCell
Sheets("SchedaVuota").Select
Sheets("SchedaVuota").Copy Before:=Sheets(1)
Sheets("SchedaVuota (2)").Name = NomeScheda
Sheets("CED").Select
' Creo il collegamento alla nuova scheda e riformatto il testo
Collegamento = "'" & NomeScheda & "'!M4"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="",
SubAddress:=Collegamento
' Recupero i dati relativi al reparto e li copio nella scheda
        ActiveCell.Offset(0, -4).Range("A1").Select
        NomeReparto = ActiveCell
        ActiveCell.Offset(0, -2).Range("A1").Select
        Piano = ActiveCell
        ActiveCell.Offset(0, -1).Range("A1").Select
        Scala = ActiveCell
        Sheets(NomeScheda).Select
        Range("M4:AF4").Select
        ActiveCell = NomeReparto
        Range("AA6:AC6").Select
        ActiveCell = Scala
        Range("AD6:AF6").Select
        ActiveCell = Piano
 ' Assegno i valori alle celle del numero apparati e prese libere
        Sheets("CED").Select
        ActiveCell.Offset(0, 4).Range("A1").Select
        Riferimento = "='" & NomeScheda & "'!Y37"
        ActiveCell.FormulaR1C1 = Riferimento
        ActiveCell.Offset(0, 1).Range("A1").Select
        Riferimento = "='" & NomeScheda & "'!AC37"
il problema è che terminata la procedura fingendo che NomeScheda sia
"Reparto" nelle celle relative agli ultimi comandi trovo
='Reparto'!'Y37' quindi mi vengono aggiunti degli apici al riferimento
cella che creano la visualizzazione dell'errore #NOME?. Non riesco a
capire perchè vengano aggiunti questi apici che io non indico in
nessun modo e per giunta non so come toglierli se non manualmente.

 Riferimento = "='" & NomeScheda & "'!Y37"
O non capisco qualcosa?
-- 
---------------------------
Mauro Gamberini
http://www.riolab.org/
 

nessun modo e per giunta non so come toglierli se non manualmente.
E il registratore di macro cosa dice?
Non ho avuto modo di 'simulare' la cosa ma, comu nque, mi sembra sospetta la 
3° riga, dove gli apici ce li metti tu.
Se proprio non riesci a capire come si materializzano puoi sempre toglierli 
da codice (NomeScheda è pur sempre una stringa).
'Mandi!' 

 O non capisco qualcosa?
Io costruisco la formula che vado a memorizzare nella variabile
Riferimento
la formula dovrebbe essere ='Reparto'!Y37 quindi come vedi tra apici
dovrebbe esserci solo il nome del foglio mentre il riferimento alla
cella è senza apici.
Al termine della procedura invece mi ritrovo con la seguente formula
='Reparto'!'Y37' come vedi sono stati aggiunti degli apici prima e
dopo il riferimento cella che io nella costruzione della stringa non
ho inserito.

 'Mandi!'
Nome scheda è una stringa che contiene ovviamente il nome della scheda
in cui sono contenuti degli spazi, per cui è d'obbligo racchiudere il
nome tra singoli apici.
Quindi nella costruzione della formula io aggiungo un apice prima e
uno dopo il nome della scheda ma non li aggiungo al riferimento cella.
Quelli al riferimento cella vengono aggiunti automaticamente ma non
riesco a capire per quale motivo.
Grazie

la formula dovrebbe essere ='Reparto'!Y37 quindi come vedi tra apici
dovrebbe esserci solo il nome del foglio mentre il riferimento alla
cella è senza apici.
**************************************************
E perchè fra apici?
Siamo in Excel?
Forse non ho capito bene.
Ma alla fine devi avere: =NomeFoglio!Range
    Dim s As String
    Dim rif As String
    s = ActiveCell.Value
    rif = "=" & s & "!A2"
    With Worksheets("Foglio1")
        .Range("B1").Value = rif
    End With
A me fa quello che cerco
