Discussione:
Collegare Macro a Testo/cella
(troppo vecchio per rispondere)
SergioBS
2005-11-05 06:54:29 UTC
Permalink
Salve!

c'è un modo per collegare una macro al testo visualizzato in una cella, o
alla cella stessa
mi spiego:
con una routine vba genero una lista di indirizzi:
vorrei che per ogni riga della lista, in una casella a lato, fosse presente
un pulsante/testo collegato ad una certa macro, a sua volta diversa
ad esempio se il cliente non ha acquistato negli ultimi 30 gg far partire
una certa macro
se invece ha acquistato negli ultimi 30 giorni mandare una mail che chieda
se è stato soddisfatto etc

visto che la lista ha una lunghezza variabile l'utilizzo di pulsanti è
alquanto scomodo..

ho già fatto qualcosa del genere, per il controllo degli invii raccomandata
con hyperlink.add ma non riesco a fare lo stesso per le macro..

Grazie

Sergio
fernando cinquegrani
2005-11-05 07:59:04 UTC
Permalink
[SergioBS] scrive in
Post by SergioBS
Salve!
c'è un modo per collegare una macro al testo visualizzato in una
cella, o alla cella stessa
potresti utilizzare l'evento BeforeDoubleClick che legge
il contenuto della cella (nell'esempio tutte le celle di
colonna A) e si regola in base al contenuto della
cella stessa.

es.:
[richiamo la stessa macro con parametri diversi
ma potrebbero essere macro diverse]

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Target(1), Me.Columns("A")) Is Nothing Then
Select Case Target(1).Value
Case 1
colora 18
Case 2
colora 22
Case Else
colora 36
End Select
End If
Cancel = True
End Sub

Private Sub colora(mycol As Integer)
ActiveCell.Interior.ColorIndex = mycol
End Sub

inserire nel modulo del foglio corrente.
in colonna A inserire qualche 1 o 2.
.f
SergioBS
2005-11-05 08:42:57 UTC
Permalink
"fernando cinquegrani" <***@xroxxmxxxa.it> ha scritto nel
messaggio news:***@TK2MSFTNGP12.phx.gbl...

[cut]
Post by fernando cinquegrani
potresti utilizzare l'evento BeforeDoubleClick che legge
il contenuto della cella (nell'esempio tutte le celle di
colonna A) e si regola in base al contenuto della
cella stessa.
[cut]
Post by fernando cinquegrani
.f
OK.. Grazie Fernando.. mi stavo incamminando per una strada irta...

With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 650, (y - 1)
* 19.5 - 0.5, 25, 13)
.Name = "Red Square" & y
.Fill.ForeColor.RGB = RGB(255, Rnd(), 0)
.OnAction = "pagato"
End With

che non funziona in quanto non mi consente di parametrizzare la macro
richiamata nell'esempio "Pagato", che doveva essere Pagato (a,b,c)

Grazie di nuovo.. sempre disponibile.. :-))

Sergio
fernando cinquegrani
2005-11-05 09:03:58 UTC
Permalink
[SergioBS] scrive in
Post by SergioBS
OK.. Grazie Fernando.. mi stavo incamminando per una strada irta...
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 650, (y
- 1) * 19.5 - 0.5, 25, 13)
.Name = "Red Square" & y
.Fill.ForeColor.RGB = RGB(255, Rnd(), 0)
.OnAction = "pagato"
End With
umhhh...
.f

Loading...