Condividi:        

Un ciclo per non far diventare la routine troppo lunga

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Un ciclo per non far diventare la routine troppo lunga

Postdi zanatta77 » 19/11/21 19:37

Buonasera
Qualcuno :roll: riesce a darmi una mano nel fare un "ciclo" per poter eseguire quanto riportato sotto
senza che esca un errore che avvisa la lunghezza eccessiva della routine al momento sono arrivato a 105 ma vi inserisco solo i
primi 4 gli altri seguono la stessa logica
Grazie
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell = Range("A1") Then
Foglio12.Range("A2").Copy
Foglio6.Range("D26").PasteSpecial
Foglio6.Pictures.Insert("C:\Users\Stefano\Desktop\foto\A1.png").Select
ElseIf ActiveCell = Range("A2") Then
Foglio12.Range("A2").Copy
Foglio6.Range("D26").PasteSpecial
Foglio6.Pictures.Insert("C:\Users\Stefano\Desktop\foto\A2.png").Select
ElseIf ActiveCell = Range("A3") Then
Foglio12.Range("A3").Copy
Foglio6.Range("D26").PasteSpecial
Foglio6.Pictures.Insert("C:\Users\Stefano\Desktop\foto\A3.png").Select
ElseIf ActiveCell = Range("A4") Then
Foglio12.Range("A4").Copy
Foglio6.Range("D26").PasteSpecial
Foglio6.Pictures.Insert("C:\Users\Stefano\Desktop\foto\A4.png").Select
End If
End Sub
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 127
Iscritto il: 01/12/12 16:12

Sponsor
 

Re: Un ciclo per non far diventare la routine troppo lunga

Postdi Anthony47 » 19/11/21 23:02

Non lo so se il codice pubblicato e' corretto, a me sembra di no. Nell'ipotesi che col doppiclick si debba copiare in Foglio12 la cella cliccata e incollarne il valore in Foglio6 cella D26, e poi inserire in Foglio6 una immagine che abbia come nome le coordinate della cella cliccata, allora probabilmente funzionera' questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ckArea As String
'
ckArea = "A1:A100"      '<<< L'area di doppioclick
If Not Application.Intersect(Target, Range(ckArea)) Is Nothing Then
    Foglio12.Range(Target.Address).Copy
    Foglio6.Range("D26").PasteSpecial
    Foglio6.Pictures.Insert("C:\Users\Stefano\Desktop\foto\" & Target.Address(0, 0) & ".png").Select
    Cancel = True
End If
End Sub

Se l'obiettivo del tuo codice era invece piu' o meno diverso allora spiega l'obiettivo e vedremo come fare.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Un ciclo per non far diventare la routine troppo lunga

Postdi zanatta77 » 20/11/21 07:39

Ciao obiettivo preso in pieno, esattamente quello che faceva prima ma detto in maniera molto sintetica e ciclica, pensa che avevo fatto uscire un debug di avviso per "Routine troppo lunga" scritta riga per riga
Grazie come sempre gentilissimo.
Risolto
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 127
Iscritto il: 01/12/12 16:12


Torna a Applicazioni Office Windows


Topic correlati a "Un ciclo per non far diventare la routine troppo lunga":


Chi c’è in linea

Visitano il forum: Nessuno e 108 ospiti