VBA con riferimenti...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] VBA con riferimenti variabili al foglio excel

6 Post
3 Utenti
0 Reactions
2,564 Visualizzazioni
Forum 1
(@cesare)
Post: 0
New Member
Avviatore di Topic
 

ciao,

non so come definire in modo variabile  il riferimento al foglio excel; ad es il comando:

Application.Run "'modello'!Foglio1.ListF"

in modo che se salvo il foglio ad esempio "modello2"

Grazie Mille!!

Versione di Excel
Sistema operativo
 
Postato : 09/09/2021 09:36
cromagno
(@cromagno)
Post: 174
Moderatore
 

Ciao,

riformula meglio la domanda perchè si capisce veramente poco di quel che vuoi fare.

"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

 
Postato : 09/09/2021 10:00
Forum 2
(@a-maurizio)
Post: 0
New Member
 

Ciao Cesare 

Concordo con quanto detto da Cromagno 

Però se non ho capito male la tua domanda

Tu dovresti creare una cosa di questo genere :

DoEvents

passa il controllo ad altri processi, lascia lavorare in Excel
si usa nel ciclo Timer per permettere di usare Excel durante il conteggio

Application.


Application.Run "nome applicazione" esegue una applicazione esterna
utilizzato per esempio per eseguire le macro di altri file Excel aperti

 

 

 

 

 
Postato : 09/09/2021 11:59
Forum 1
(@cesare)
Post: 0
New Member
Avviatore di Topic
 

spiego meglio con il file che allego:

1) nel foglio "Riepilogo" è associato un codice ListF(), che fa la lista dei fogli presente nel file.

2) la macro aggiorna_elenco() deve attivare ListF()

non so come definire in modo variabile  il riferimento al foglio excel nella macro, in questo caso:
Application.Run "'prova.xlsm'!Foglio1.ListF"

quindi se si salva il file come prova2, rendere variabile al nome del file il riferimento del comando Application.Run

 

Ho provato scrivendo nella macro:

Dim nome_file As String
Dim nome_sub As String
nome_file = ActiveWorkbook.Name 'Application.ActiveWorkbook.Name
nome_sub = "Foglio1.ListF"

appication.Run nome_file.nome_sub

ma non funziona

 

 
Postato : 10/09/2021 08:50
cromagno
(@cromagno)
Post: 174
Moderatore
 

Ciao,

forse ho frainteso la tua richiesta ma...non vedo il problema.
Una volta che utilizzi l'istruzione/proprietà ThisWorkbook, il file lo puoi chiamare come ti pare, il codice farà sempre riferimento a quel file.
L'unico problema è come hai impostato e piazzato le sub.

  • La Sub ListF la puoi mettere tranquillamente in un modulo standard, ricorda che se metti una sub all'interno di un modulo di classe (del foglio Riepilogo in questo caso), quella sub sarà "visibile" (e richiamabile) solo all'interno di quel modulo.
  • La Sub ListF la puoi richiamare con l'evento Workbook_Open del modulo di classe Questa_cartella_di_lavoro e con l'evento Worksheet_Activate del modulo di classe del foglio Riepilogo;
    in questo modo puoi fare a meno della Sub aggiorna_elenco.
  • Nel foglio Riepilogo ti conviene eliminare la tabella dati_fogli almeno non dovrai manipolare un oggetto tabella tramite codice.

Il codice, da mettere in un modulo standard, sarà:

Option Explicit

Sub ListF()
    Dim i As Integer
    Dim ActRow As Integer
    
    Range("A3:A" & Rows.Count).ClearContents
    ActRow = 3
    For i = 1 To ThisWorkbook.Worksheets.Count
        If Sheets(i).Name <> ThisWorkbook.ActiveSheet.Name Then
            Range("A" & ActRow).Value = Sheets(i).Name
            ActRow = ActRow + 1
        End If
    Next i
End Sub

Ti riallego il file:

 

P.S.
Abituati ad usare Option Explicit per rendere obbligatoria la dichiarazione delle variabili.

P.P.S.
Quando posti un codice, utilizza gli appositi TAG CODE, per rendere il codice più leggibile:

"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

 
Postato : 11/09/2021 01:25
Forum 1
(@cesare)
Post: 0
New Member
Avviatore di Topic
 

@cromagno Grazie Mille! la tabella mi serve perché devo aggiungere colonne con riferimenti sul nome del foglio della colonna che si aggiorna.

Grazie ancora

Cesare

 
Postato : 13/09/2021 14:26
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download