Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL (OFFICE 365) errore di run-time 9 indice non incluso

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 (OFFICE 365) errore di run-time 9 indice non incluso

Postdi lucertolina » 02/09/19 15:52

Buon pomeriggio,
per cortesia avrei bisogno del vostro aiuto per un errore di excel con una macro; premetto che non conosco visual basic, quindi uso le macro pre-registrate.
Lanciando la macro mi da il seguente errore:

Errore di run-time '9' - Indice non incluso nell'intervallo

e mi evidenzia questa riga:

Windows("tmp088752411.txt").Activate

Il problema è che il nome "tmp088752411.txt" cambia di volta in volta... come potrei risolvere per favore?
Grazie
Ciao
Lucertolina
Windows 7 + OFF 2013 /// Windows 10 + Office 2010
lucertolina
Utente Junior
 
Post: 89
Iscritto il: 19/03/12 10:17
Località: Bergamo

Sponsor
 

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi patel » 02/09/19 17:10

posta tutta la macro spiegando anche il tuo obiettivo
patel
Utente Senior
 
Post: 306
Iscritto il: 24/04/12 16:03

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi alfrimpa » 02/09/19 17:49

Devi memorizzare in una variabile stringa il nome del file e utilizzare tale variabile (senza virgolette) come attributo dell'istruzione Windows.

Poi bisogna vedere il codice per intero e sapere quello che in concreto vuoi fare.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1194
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi Anthony47 » 02/09/19 23:19

In attesa di conoscere l'intero contenuto e la finalita' della tua macro, come gia' richiesto dagli amici che ti hanno gia' risposto, mi vien da commentare che in un qualche momento quel file l'avrai pure aperto; allora, dopo l'apertura e mentre quella finestra e' ancora attiva, ti bastera' "settare" un riferimento a quella finestra, da usare poi al posto del suo nome. Tipo

a) In testa alla macro, tra le dichiarazioni delle variabili:
Codice: Seleziona tutto
Dim TmpF As Object


b) subito dopo aver aperto il file col nome variabile:
Codice: Seleziona tutto
Set TmpF = ActiveWindow


3) quando vuoi attivare il file col nome variabile:
Codice: Seleziona tutto
TmpF.Activate


Aggiungo che probabilmente non hai nemmeno bisogno di "attivare" quel file per farci le comuni operazioni, ma questo richiede una conoscenza appena superiore a quella necessaria per lavorare con macro autoregistrate + piccole personalizzazioni.
Se pubblichi il codice completo certamente potremo farci delle elaborazioni in quel senso.

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 16603
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi lucertolina » 03/09/19 10:14

Buongiorno, e grazie per le risposte, che a dire il vero non ho proprio capito... a causa della mia incompetenza.

La mia necessità sarebbe la seguente: il gestionale mi stampa un file (con nome che cambia ogni volta) con dei dati da ordinare in colonne, e ad ogni riga, che contiene il riferimento di un articolo, ho necessità di abbinare il nome di un fornitore ed altri dati tramite un cerca verticale su altri files.

Le macro sono le seguenti "CARENZE01" e "CARENZE02", ed il problema me lo da quando lancio la 02:
Codice: Seleziona tutto
Sub CARENZE01()
'
' CARENZE01 Macro
' 02/09/19 nr.1
'

'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
        1), Array(6, 1), Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
    Columns("C:L").Select
    Selection.Delete Shift:=xlToLeft
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Date   : 02.09.19 [15:31]"
    Rows("2:2").Select
    Selection.Delete Shift:=xlUp
    Range("3:3,5:5").Select
    Range("A5").Activate
    Selection.Delete Shift:=xlUp
    Columns("A:A").Select
    Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("C8").Select
    Columns("A:A").ColumnWidth = 12.14
    Columns("B:B").ColumnWidth = 33.43
    Rows("3:3").Select
    Selection.Font.Bold = True
    With Selection.Font
        .Color = -16777024
        .TintAndShade = 0
    End With
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("C3").Select
    ActiveCell.FormulaR1C1 = "BP"
    Range("D3").Select
    ActiveCell.FormulaR1C1 = "Rag. Soc."
    Range("E3").Select
    ActiveCell.FormulaR1C1 = "Resp."
    Range("F3").Select
    ActiveCell.FormulaR1C1 = "Note"
    Range("E6").Select
    Columns("D:D").ColumnWidth = 22.29
    Columns("E:E").ColumnWidth = 6.29
    Columns("F:F").ColumnWidth = 38.57
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "AL"
    Range("C1").Select
    Selection.Font.Bold = True
    Range("C1:D1").Select
    Selection.Font.Bold = False
    Selection.Font.Bold = True
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("C5615").Select
    Windows("tmp088752411.txt").Activate
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-2],'[Forn Pref Articoli.xlsx]ORIGINE'!C1:C3,2,FALSE)"
    Range("D4").Select
    Application.CutCopyMode = False
    Windows("Forn Pref Articoli.xlsx").Activate
    ActiveWindow.Close
    Application.WindowState = xlNormal
    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    Windows("tmp088752411.txt").Activate
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-1],'[Supplier Data.xlsx]supplier data'!C1:C7,2,FALSE)"
    Range("E4").Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-2],'[Supplier Data.xlsx]supplier data'!C1:C7,7,FALSE)"
    Range("D9").Select
    ActiveWindow.Close
    Range("C4:E4").Select
    Selection.AutoFill Destination:=Range("C4:E119")
    Range("C4:E119").Select
    Range("D1:F1").Select
    With Selection.Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("C1").Select
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("C1").Select
    Selection.ClearContents
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "CARENZE"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "AL"
    Range("E1").Select
    Selection.Font.Bold = True
    Range("D1").Select
    With Selection
        .HorizontalAlignment = xlRight
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("F4").Select
End Sub



Codice: Seleziona tutto
Sub CARENZE02()
'
' CARENZE02 Macro
' 02/09/19
'

'
    Application.Run "PERSONAL.XLSB!CARENZE01"
    Range("C4").Select
    F1Name = ActiveWorkbook.Name
    Workooks(F1Name).Activate
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-2],'[Forn Pref Articoli.xlsx]ORIGINE'!C1:C2,2,FALSE)"
    Range("D4").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-3],'[Forn Pref Articoli.xlsx]ORIGINE'!C1:C3,3,FALSE)"
    Range("E4").Select
    Windows("Forn Pref Articoli.xlsx").Activate
    ActiveWindow.Close
    Workooks(F1Name).Activate
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-2],'[Supplier Data.xlsx]supplier data'!C1:C7,7,FALSE)"
    ActiveWindow.Close
    Range("F19").Select
    Application.WindowState = xlNormal
    Workooks(F1Name).Activate
    Workooks(F1Name).Activate
    Range("E4").Select
End Sub


Ciao
Lucertolina
Windows 7 + OFF 2013 /// Windows 10 + Office 2010
lucertolina
Utente Junior
 
Post: 89
Iscritto il: 19/03/12 10:17
Località: Bergamo

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi Anthony47 » 03/09/19 11:07

Dovresti pero' dire qualcosa sull'ambiente di lavoro in cui esegui quelle macro: quanti sono i file aperti, il nome dei file aperti, come sono stati aperti, il nome del file contenente le macro.
Avatar utente
Anthony47
Moderatore
 
Post: 16603
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi lucertolina » 03/09/19 13:14

Vediamo se riesco a spiegare tutto... l'ambiente di lavoro è Windows 7, il programma del gestionale che elabora il files è ERP LN.
Una volta elaborato il file dal gestionale, viene aperto automaticamente in excel ma con estensione "txt" e chiamato ad esempio "tmp099076645.txt" ma la parte numerica varia ad ogni nuova estrazione.
Per creare la macro CARENZE01, sono partita da questo file "txt" aperto in excel ed ho ordinato i dati in colonna ed eliminato alcune colonne; ho aggiunto i titoli alle colonne ed ho salvato la macro.
Successivamente ho elaborato un nuovo file "tmpxxxxx.txt" aperto in excel, selezionato la registrazione della nuova macro CARENZE02, dove per prima cosa ho lanciato la prima macro CARENZE01, dopodiché ho cominciato ad inserire dei CERCA.VERT: due che puntano ad un file excel chiamato "Forn Pref Articoli.xlsx", ed un altro che punta ad un file sempre in excel chiamato "Supplier Data.xlsx", ed ho salvato la macro.
Successivamente ho elaborato un altro file dal gestionale ed ho lanciato la macro CARENZE02 che mi ha dato l'errore in oggetto...
Lucertolina
Windows 7 + OFF 2013 /// Windows 10 + Office 2010
lucertolina
Utente Junior
 
Post: 89
Iscritto il: 19/03/12 10:17
Località: Bergamo

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi Anthony47 » 03/09/19 18:54

Hummm... non mi e' ancora tutto chiaro...
Mi sembra che tu lanci la Sub CARENZE02 mentre il file Txt e' attivo e mentre i file Forn Pref Articoli.xlsx e Supplier Data.xlsx sono a loro volta aperti (ma non tutto quello che leggo in CARENZE01 quadra con questa ipotesi)
Se fosse cosi', allora ti bastera' modificare la Sub CARENZE01 aggiungendo le duer righe marcate <<<
Codice: Seleziona tutto
Sub CARENZE01()
'
' CARENZE01 Macro
' 02/09/19 nr.1
'
Dim TmpF As Object              '<<< Aggiungi

'
Set TmpF = ActiveWindow         '<<< Aggiungi
    Columns("A:A").Select
'il codice continua

Poi, invece di usare Windows("tmp088752411.txt").Activate nella macro userai:
Codice: Seleziona tutto
TmpF.Activate


Ripeto che non tutto quel che leggo in Sub CARENZE01 mi quadra (in particolare non capisco che fine fa il file tmpxxx dopo che gli hai inseritoil Cerca.Vert sul file Forn Pref Articoli.xlsx e i due Cerca.Vert sul file Supplier Data.xlsx, vista la presenza dell'istruzione ActiveWindow.Close); quindi fai queste prove dopo aver creato due copie di backup dei tuoi file.

Mi viene anche la certezza che sarebbe piu' semplice elaborare le macro da zero, se alleghi un file tmpxxx.txt e una versione demo dei file Forn Pref Articoli.xlsx Supplier Data.xlsx contenenti dati non confidenziali ma utilizzabili ai file delle prove, e poi su questi file spieghi le operazioni logiche da fare

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

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi lucertolina » 06/09/19 10:31

Ciao, per favore, come posso allegare i files che usa la macro con cui ho problemi?
Grazie
Ciao
Lucertolina
Windows 7 + OFF 2013 /// Windows 10 + Office 2010
lucertolina
Utente Junior
 
Post: 89
Iscritto il: 19/03/12 10:17
Località: Bergamo

Re: EXCEL (OFFICE 365) errore di run-time 9 indice non inclu

Postdi Anthony47 » 06/09/19 14:48

Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Pubblica il file ma contemporaneamente spiega come lo usi; comunque le prove devi farle tu (a cominciare da quanto suggerito nel mio precedente messaggio)

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


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL (OFFICE 365) errore di run-time 9 indice non incluso":


Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti