Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Macro associata a pulsante.

75 views
Skip to first unread message

Andrew

unread,
Jul 7, 2009, 11:13:01 AM7/7/09
to
Salve,
in un modello, che per semplicit� chiamo "prova.xlt", ho creato una barra
degli strumenti personalizzata all'interno della quale c'� un pulsante
associato ad una macro. La prima apertura del modello, mi genera
"prova1.xls", clicco sul pulsante macro e tutto funziona regolarmente. A
questo punto, se apro di nuovo il modello "prova.xlt" e provo ad utilizzare
il pulsante macro mi dice che non riesce a trovare il file "prova1.xls" e
quindi non pu� lanciare la macro. Per utilizzare la macro dal modello, devo
associare di nuovo il pulsante alla macro stessa, perch�? Dove sbaglio?
Grazie.

Andrea


Mauro Gamberini

unread,
Jul 7, 2009, 11:43:54 AM7/7/09
to
<cut>

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/

Mauro Gamberini

unread,
Jul 7, 2009, 11:36:03 AM7/7/09
to

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.

Andrew

unread,
Jul 9, 2009, 12:05:50 PM7/9/09
to

"Mauro Gamberini" <maurogsc...@RIMUOVEREaliceposta.it> ha scritto nel
messaggio news:uY0Kkix$JHA....@TK2MSFTNGP04.phx.gbl...

>
> Ti spiego cosa ho fatto io.
> File di Excel con una macro
> in un modulo standard.

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.


Mauro Gamberini

unread,
Jul 9, 2009, 12:35:04 PM7/9/09
to

> 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.
>

Che cosa ti ho inviato?
Puoi postare un link al vercchio post?
Non puoi essere pi� preciso, grazie.

Andrew

unread,
Jul 10, 2009, 8:36:27 AM7/10/09
to

"Mauro Gamberini" <maurogsc...@RIMUOVEREaliceposta.it> ha scritto nel
messaggio news:eZ7j1MLA...@TK2MSFTNGP02.phx.gbl...

>
>
> Che cosa ti ho inviato?
> Puoi postare un link al vercchio post?
> Non puoi essere pi� preciso, grazie.
>
La macro � la seguente:


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


0 new messages