Andrea
Ragionadoci sopra...
...non � che la tua macro ha un
riferimento a prova1.xls?
Perch� quello sar� il nome del primo
file che crei, il secondo si chiamer�
prova2.xls(vedi un po' nella barra
del nome in alto9 e cos� via.
Nel caso, prova ad asstrarre la cosa.
Non prova1.xls ma ThisWorkbook.Name
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
Ti spiego cosa ho fatto io.
File di Excel con una macro
in un modulo standard.
Public Sub m()
MsgBox "Ciao"
End Sub
Aggiungo un bel pulsante
sulla Barra dei menu e gli associo la
macro.
Salvo il file come Cartel1.xlt
Lancio il file(doppio click su Cartel1.xlt),
click sul pulsante, MsgBox con Ciao.
Lancio ancora il file(doppio click su Cartel1.xlt),
click sul pulsante, MsgBox con Ciao.
Quindi, adesso la mia domanda �:
cosa fa *invece* la tua macro?
Inoltre, tu non *apri* il modello, ma crei
un nuovo file uguale al modello facendo
doppio click sullo stesso.
Per aprire il modello, la procedura � diversa.
La macro � la famosa che mi avevi inviato, quella che doveva inserire un
dato dopo aver confrontato 2 celle. Ora, se la faccio partire senza
associare pulsanti, funziona sempre, se gli associo una icona, funziona una
volta e basta.
Quello che faccio io:
apro il file "prova1.xls", creo una barra personalizzata, ci metto dentro un
pulsante e lo associo alla macro del foglio, poi me lo salvo con nome
"prova.xlt", nella directory modelli.
Mi creo un collegamento del modello sul desktop, ci clicco sopra, mi apre
il file "prova1.xls", scrivo i dati, lancio la macro e mi salvo il foglio
nel directory documenti, con lo stesso nome o anche nome diverso, la cosa
non cambia. Fin qui tutto ok.
Adesso, se clicco sul collegamento del modello nel desktop, mi genera un
altro "prova1.xls" ma se lancio la macro attraverso il pulsante si apre una
finestra di avviso protezione in cui mi chiede se voglio attivare la macro
del foglio che avevo salvato in precedenza nella directory documenti, se
clicco su attiva macro, mi apre il file in questione e lancia la macro sul
foglio attivo in cui sto lavorando. Se non attivo la macro del file presente
in documenti, la macro non parte. Se vado a controllare il percorso della
macro associato al pulsante creato trovo, nella casella assegna macro, il
percorso del file presente nella directory documenti scritto cos�:
"c:\..\documenti\prova1.xls'!prova".
Prova � il nome della macro, per scrupolo ho anche cambiato il nome del
modello e della macro ma il risultato non cambia.
Che cosa ti ho inviato?
Puoi postare un link al vercchio post?
Non puoi essere pi� preciso, grazie.
Public Sub m()
On Error GoTo RigaErrore
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Dim c1 As Range
Dim c2 As Range
Dim lUltRiga As Long
Set sh1 = Worksheets("Foglio1")
Set sh2 = Worksheets("Foglio2")
With sh1
lUltRiga = .Range("B" & _
.Rows.Count).End(xlUp).Row
Set rng1 = .Range("B1:B" & lUltRiga)
End With
With sh2
lUltRiga = .Range("A" & _
.Rows.Count).End(xlUp).Row
Set rng2 = .Range("A1:A" & lUltRiga)
End With
For Each c1 In rng1
For Each c2 In rng2
If c1.Value = c2.Value Then
c1.Offset(0, 2).Value = "x"
End If
Next
Next
RigaChiusura:
Set c1 = Nothing
Set c2 = Nothing
Set rng1 = Nothing
Set rng2 = Nothing
Set sh1 = Nothing
Set sh2 = Nothing
Exit Sub
RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura
End Sub
Ciao