Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Errore in versione 2007

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] Errore in versione 2007

Postdi mpsinf » 02/12/12 20:42

Una macro che gira perfettamente in Excel 2003 su XP in W7 con Excel 2007 mi restituisce l'errore :

Errore di run-time' - 2147417848 (80010108)
Metodo 'Value' dell'oggetto Range non riuscito


l'istruzione dove si blocca è un banale

Range("A1").Value = "" ossia scrivi niente nella casella

ho provato anche a sostituirlo con un Range("A1").clear

è una private sub che inserisco qui sotto

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer

Application.EnableEvents = False
If Range("A1").Value <> "" Then

Range("G2:V10000").Clear

For EU = 1 To nfg        ' nfg è una variabile pubblica
 If Sheets(EU).Name = "Home" Then Exit For

 With Worksheets(Sheets(EU).Name)
 
  col = 11 ' Colonna K
   For i = 1 To .Cells(Rows.Count, "L").End(xlUp).Row
       
        myh = .Cells(i, 11).Value
        If Now - CDate(myh) > 0.25 Then Exit For ' se è maggiore di 6h allora esci
        myHero = .Cells(i, 12).Value
        myExH = Application.Match(myHero, Range("H:H"), 0)
         
        If myHero = "" Then Exit For ' se è finita la lista esci
         
      If IsError(myExH) Then  ' se non c'è nella lista lo inserisce
           Cells(Cells(Rows.Count, "H").End(xlUp).Offset(1, 0).Row, "H").Value = myHero
           Cells(Cells(Rows.Count, "H").End(xlUp).Offset(0, 0).Row, "G").Value = myh
      End If
         
        For inlin = 2 To Cells(Rows.Count, "H").End(xlUp).Row
         For diff = 14 To 1 Step -1
            If Range("G1").Value - CDate(Cells(inlin, 7).Value) < Cells(1, diff + 8).Value Then
             Cells(inlin, diff + 8) = "X"
            End If
         Next diff
        Next inlin
       
   Next i
 End With
Next

End If
Application.EnableEvents = True
Range("A1").Clear


End Sub

XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33

Sponsor
 

Re: [Excel] Errore in versione 2007

Postdi ricky53 » 02/12/12 21:10

Ciao,
ho provato con il 2007 e non ottengo il tuo errore

Comunque le istruzione seguenti non sono posizionate bene
Codice: Seleziona tutto
Application.EnableEvents = True
Range("A1").Clear

ossia la seconda istruzione riavvia la macro (per 91 volte con il 2007 e 202 con il 2003, questo in base alle impostazioni in excel che ho io nel mio PC) in quanto sono stati riabilitati gli eventi.

Ecco come vanno inserite
Codice: Seleziona tutto
Range("A1").Clear
Application.EnableEvents = True



Per riprodurre la tua esatta situazione occorre un tuo file di esempio.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Errore in versione 2007":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti