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

Problema Excel errore di automazione: eccezione

Ultimo Aggiornamento: 06/07/2020 13:47
Post: 55
Registrato il: 04/03/2017
Città: MILANO
Età: 44
Utente Junior
2010
OFFLINE
05/07/2020 22:16

Salve avrei un problema alquanto strano: avrei un file excel molto articolato a cui sono presenti delle macro e codici vba (che purtroppo in questo momento per esigenze lavorative non posso allegare),e questo file all'esigenza lo copio(vergine) da una cartella "utilità" e lo incollo in cartelle nuove di windows (rinomitate in base al nome del committente)successivamente compilo il file al fine di Redigere un computo edile.
Il problema che con sorpresa ho scoperto a tentativi è questo, se apro lo stesso file da una cartella rinominata ad esempio "Gessica" e avvio la macro dal pulsante mi da "errore di automazione: eccezione" mentre lo stesso file la cui cartella ha il nome ".Gessica" ad esmpio non da nessun errore.
Così a sentore secondo voi?
A voi è mai capitato?
06/07/2020 01:18

Controlla il bottone, quale macro avvia. Cercalo nel VBA e allega la macro relativa
Post: 55
Registrato il: 04/03/2017
Città: MILANO
Età: 44
Utente Junior
2010
OFFLINE
06/07/2020 12:58

Ciao allego il codice!

Sub trova()
'
' Macro4900 Macro
'
Application.ScreenUpdating = False
Sheets("Foglio2").Visible = xlSheetVisible
Sheets("Foglio2").Select

Range("a:a").Find(10101010).EntireRow.Select
ActiveCell.Offset(1, 0).Rows("1:9").EntireRow.Select
Selection.Copy
Call Select_Last
Range("a:a").Find(10101010).EntireRow.Select
Selection.Insert Shift:=xlDown
ActiveCell.Offset(1, 1).Range("A1").Select
Range("AG4:AI4").Select
Range("AI4").Activate
Application.CutCopyMode = False
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("Ac4:Ae4").Select
Range("Ae4").Activate
Application.CutCopyMode = False
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Foglio2").Visible = xlVeryHidden
Application.ScreenUpdating = True




End SubSub Select_Last()
Application.Sheets(LastSheet).Select
End Sub

06/07/2020 13:47

OK, usare il registratore. Poi bisogna imparare ad usare le "variabili"
Io avrei iniziato con ...
Option Explicit
Sub trova()
Dim ur As Long, r As Long, Rg As Object, Cerca As String
Application.ScreenUpdating = False
Sheets("Foglio2").Visible = True
Sheets("Foglio2").Activate
ur = Range("A" & Rows.Count).End(xlUp).Row
'Cerca = "10101010"
'Set Rg = Range("A1:A" & ur).Find(Cerca, LookIn:=xlValues, LookAt:=xlWhole)
Set Rg = Range("A1:A" & ur).Find("10101010", LookIn:=xlValues, LookAt:=xlWhole)
If Rg Is Nothing Then
    MsgBox "Nessuna corrispondenza"
Else
    r = Rg.Row
    MsgBox "Trovato in riga " & r
End If
'...
'...
'...
Set Rg = Nothing
Application.ScreenUpdating = True
'MsgBox "Fatto"
End Sub

Il resto del codice non l'ho capito, forse è meglio che alleghi l'originale (sensa dati sensibili e spiegando bene cosa desideri ottenere)

EDIT Ps. Di norma 10101010 và tra virgolette se fosse testo (sembra un numero reale=OK), però non capisco la Sub Select_Last(). Hai forse una Function?
[Modificato da ABCDEF@Excel 07/07/2020 09:26]
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 17:45. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com