Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Inserimento Foto Automatico

Ultimo Aggiornamento: 10/07/2019 10:21
Post: 2
Registrato il: 09/07/2019
Città: ALFONSINE
Età: 31
Utente Junior
2013
OFFLINE
09/07/2019 21:59

Buonasera,

Chiedo consiglio a voi perchè sono due giorni che mi sto scervellando su due MACRO e non trovo soluzioni.


Come vedete in allegato, ho un file composto da due fogli. Nel primo schiacciando un bottone vengono creati dei fogli,rinominati secondo l'elenco della colonna A, sulla base di un Modello(Foglio 2).
In questo secondo modello, ho inserito una macro che permette di inserire in automatico un codice in base al contenuto della cella B5 (Che si autocompila).

il problema che ho riscontrato è che quando creo i diversi fogli, questa macro continua ad agire solo sul secondo e devo copiare e incollarla su tutti gli altri.

In questo senso, c'è un modo per farla andare automaticamente su tutti i fogli creati tranne il foglio 1?

La domanda successiva è poi come faccio a ridimensionarla e posizionarla in una posizione specifica (che si vede nel file evidenziata in grigio)

Grazie a chiunque saprà darmi una mano.

Edo
Post: 4.162
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
10/07/2019 08:41

Dovresti spiegare meglio cosa vuoi ottenere e perché hai usato l'evento Worksheet_Change

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 2.324
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
10/07/2019 10:21

ciao
intanto nel modulo 2 cancella la Private Sub Worksheet_Change(ByVal Target As Range) che non ha senso.

Poi: l'errore sta nel fatto che tu aggiungi un foglio e poi all'interno ci copi il contenuto del foglio Modello: questo ovviamente non si porta appresso l'evento Change che sta nel modello.

Pertanto devi utilizzare un altro metodo pre creare i nuovo fogli che consiste nel"duplicare" il foglio Modello, per esempio:

....
Sheets("Modello").Copy After:=Sheets(sheets.count)
....

questo fa sì che il nuovo foglio (che poi rinominerai a tuo piacere, contenga la macro dell'evento Change.

Relativamente alle immagini, (credo sia questo il motivo per il quale vuoi sfruttare l'evento Change) le puoi posizionare sfruttando le funzioni Top Left Height Width

Nel tuo caso, qualcosa del genere:
.....
If Range("B5") <> 0 Then
    If Dir(ThisWorkbook.Path & "\Provafoto\" & Range("B5").Value & ".jpg") <> "" Then
    With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\Provafoto\" & Range("B5").Value & ".jpg")
        .ShapeRange.LockAspectRatio = msoFalse
        Range("K6").Select
        mTop = ActiveCell.Top
        mLeft = ActiveCell.Left
        mHeight = Range(ActiveCell.Address & ":" & ActiveCell.Offset(9).Address).Height
        mWidth = Range(ActiveCell.Address & ":" & ActiveCell.Offset(, 1).Address).Width
        .Top = mTop
        .Left = mLeft
        .Width = mWidth
        .Height = mHeight
    End With
......


saluti



[Modificato da dodo47 10/07/2019 13:10]
Domenico
Win 10 - Excel 2016
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:43. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com