Condividi:        

Excel: Macro, selezionare workbook con carattere jolly

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

Excel: Macro, selezionare workbook con carattere jolly

Postdi golberg » 30/08/12 09:39

Ciao a tutti,
sono giorni che provo ma non riesco a venirne fuori, magari qualcuno può aiutarmi.
Avrei bisogno di scrivere delle strighe di codice che mi permettano di passare da un file excel a un altro. Il secondo file però ha un nome che cambia di volta in volta, mantenendo però fisso l'inizio.
Come faccio a selezionare un file excel (già aperto) indicando solo una parte del nome?

Es. volendo passare al file che si chiama Pippo1.xls

Windows("Pippo*.xlsm").Activate

non funziona.

Come potrei fare?
Grazie
golberg
Newbie
 
Post: 5
Iscritto il: 30/08/12 09:27

Sponsor
 

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Flash30005 » 30/08/12 10:01

Ciao Golberg e benvenuto nel Forum

Il quesito esposto così non dà molte chances
Vorrei solo sapere se questi file (Pippo1, Pippo2 etc) sono aperti manualmente oppure attraverso una macro creata all'interno di un "terzo" file
Inoltre, quale regola rispetti per scrivere le stringhe su questo o quel file?

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi golberg » 30/08/12 10:19

Allora i file sono generati in altri modi e li nomina automaticamente in modo progressivo. Per semplicità vorrei arire manualmente il file di interesse es. Pippo1 e far selezionare automaticamente dalla macro quel file. Gli altri (pippo2,pippo3 ecc rimangono chiusi e non sono necessari).

Se non riesco la soluzione è chiamare all'occorrenza Pippo1, pippo2 come Pippo e utilizzare

Windows("Pippo.xlsm").Activate

per attivarli.. però è ciò che vorrei evitare.
golberg
Newbie
 
Post: 5
Iscritto il: 30/08/12 09:27

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Flash30005 » 30/08/12 10:39

:roll:

C'è qualcosa che non mi dici perché "i conti non mi tornano".
Se apri manualmente il file (pippo1) hai già il file (pippo1) attivo e selezionato

Poi dici
golberg ha scritto:e far selezionare automaticamente dalla macro quel file.

Quale macro? Contenuta dove?
:roll:
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi golberg » 30/08/12 11:22

Ok scusami non sono stato chiaro:
allora io apro il file pippo1 poi un altro file (Riassunto.xlsm) in cui faccio le mie operazioni. Vorrei inserire la macro nel file Riassunto.xlms e vorrei che rendesse attivo il file Pippo1 (posto in background). Domani che ho il file Pippo2, apro Pippo2, mi pongo in Riassunto e vorrei che la macro facesse diventare attivo il file Pippo2 (per poter ottenere da questo dei dati).
Grazie
golberg
Newbie
 
Post: 5
Iscritto il: 30/08/12 09:27

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Flash30005 » 30/08/12 12:49

Ma allora perché prima non apri "Riassunto.xlsm" e da un apposito foglio dove sono trascritti tutti i nomi dei file contenuti in una determinata cartella (Pippo1, Pippo2 etc) al solo click su questo nome dell'elenco, si apre Pippo1 , Pippo2 etc?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi golberg » 30/08/12 13:08

Cioè si potrebbe creare un elenco nel file riassunto e aprire da li file Pippo di interesse?
Interessante ora provo a vedere come si può fare.
Ti ringrazio.
Ma invece per quanto riguarda il modo di richiamare un workbook tramite carattere jolly non c'è modo?
golberg
Newbie
 
Post: 5
Iscritto il: 30/08/12 09:27

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Flash30005 » 30/08/12 14:28

"Mettiti nei panni" di una macro che deve aprire Pippo*, sapendo che ci sono diversi file numerati con Pippo (1,2,3... 100 etc)
quale dovrebbe aprire?
Comunque a parte questo è la sintassi errata perché il nome del file deve essere chiaro (anche se composto)

Una macro che ti crea l'elenco dei file .xls (modificabile ai soli "Pippo" potrebbe essere questa
Codice: Seleziona tutto
Public perc As String
Sub ElencoFileXls()
perc = "C:\temp\"   '<<<< cambia percorso secondo la tua esigenza
Worksheets("Foglio1").Select
Range("A1").Select
  With ActiveCell
    Worksheets("Foglio1").Range(.Cells(1, 2), .End(xlDown)).ClearContents
  End With
  ElencoFile Direct:=perc, Estens:="*.xls", Inicell:=ActiveCell   '<<<< Puoi mettere Estens:="Pippo*.xls"
 
      Columns("A:B").Select
    Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("A1").Select
 
End Sub
Sub ElencoFile(Direct As String, Estens As String, Inicell As Range)
  Dim i As Integer, f As String
  ChDir Direct
  Set oFs = CreateObject("Scripting.FileSystemObject")
  f = Dir(Estens)
  If f = "" Then Exit Sub
  While f <> ""
    DataF = FileDateTime(f)
    i = i + 1
    Inicell(i) = f
    f = Dir
  Wend
End Sub



Se va bene poi vediamo come aprire questi file al solo click sul nome in elenco

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Anthony47 » 30/08/12 23:04

Flash, da quello che capisco il file "pippoXYZ" e' gia' aperto e viene richiesto di renderlo attivo; ad esempio questo codice:
Codice: Seleziona tutto
LFor = "pippo" '<< La "base" del nome file da attivare
For Each OWb In Workbooks
    If UCase(Left(OWb.Name, Len(LFor))) = UCase(LFor) Then OWb.Activate: Exit For
Next OWb

Dopo aver impostata nella riga marcata <<< la "base" del nome file da cercare essa cerca tra i file aperti e attiva il primo che inizia con quanto impostato; il confronto non fa distinzione tra maiuscolo e minuscole.

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

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi golberg » 31/08/12 09:47

Ti ringrazio Flash per la risposta celere e per l'idea, ma la risposta di Anthony era porprio quello che cercavo.

Grazie Anthony funziona a meraviglia.

Ciao
golberg
Newbie
 
Post: 5
Iscritto il: 30/08/12 09:27

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Marcello Ferrau » 24/10/12 21:03

Buonasera a tutti innanzittutto e complimenti per il forum, lo seguo da tempo e mi è stato di grande aiuto per risolvere alcune macro che ultimamente mi ritrovo a creare per alleggerirmi il lavoro.

Nell'attuale macro a cui sto lavorando mi ritrovo ad avere un problema simile a quello descritto da golberg, con la differenza che la mia macro apre dei file con un nome senza niente in comune.
Da questi file (aperti uno per volta) copio il contenuto e lo incollo nel file originale che contiene la macro. Il problema è che vorrei che la macro riselezionasse il file aperto per chiuderlo in automatico, dandomi così modo di fare ripartire la macro senza ritrovarmi decine di fogli aperti.
È possibile adattare la soluzione proposta da Anthony47 in caso di nome variabile?

Può essere utile il fatto che ho definito il file che apro con:
Codice: Seleziona tutto
    Dim mycell As String
    mDir = ActiveWorkbook.Path
    fileToOpen = Application.GetOpenFilename("XLS Files (*.xls), *.xls")
    mycell = fileToOpen

Si può fare riferimento a questa definizione per richiamare e chiudere il file aperto?

Grazie mille per il tempo che dedicherete :)
Marcello Ferrau
Win7 + Office 2010 Ita
Xp + Office 2003 Ita
Avatar utente
Marcello Ferrau
Utente Junior
 
Post: 13
Iscritto il: 24/10/12 20:47

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Anthony47 » 25/10/12 00:51

Ciao Marcello, benvenuto nel forum.
Può essere utile il fatto che ho definito il file che apro con:
Codice: Seleziona tutto
Dim mycell As String
mDir = ActiveWorkbook.Path
fileToOpen = Application.GetOpenFilename("XLS Files (*.xls), *.xls")
mycell = fileToOpen
Si può fare riferimento a questa definizione per richiamare e chiudere il file aperto?

Certo che si puo'!
Ad esempio potresti usare
Codice: Seleziona tutto
f1Name = Mid(fileToOpen, InStrRev(fileToOpen, "\") + 1, 999)
Workbooks(f1Name).Close SaveChanges:=False

La prima istruzione serve per estrarre il nome file dalla stringa comprendente Path & NomeFile, la seconda chiude il file.

Inserirai queste righe in coda al codice con cui hai copiato e incollato nel file originale, senza nessun bisogno di "riselezionare" il file da chiudere.

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

Re: Excel: Macro, selezionare workbook con carattere jolly

Postdi Marcello Ferrau » 25/10/12 07:41

Ciao Anthony, davvero tantissimi grazie, è perfetta!

Ciao
Marcello Ferrau
Win7 + Office 2010 Ita
Xp + Office 2003 Ita
Avatar utente
Marcello Ferrau
Utente Junior
 
Post: 13
Iscritto il: 24/10/12 20:47


Torna a Applicazioni Office Windows


Topic correlati a "Excel: Macro, selezionare workbook con carattere jolly":


Chi c’è in linea

Visitano il forum: Marius44, raimea e 65 ospiti