VBA EXcel - Ricevo un errore (400) se si utilizza un trap di errore senza ottenere alcun oggetto / errore definito dall'applicazione


2

Il mio foglio Excel ha questi dati, 7 colonne

sl.no | bed | 2| 4| 3|4|3|

alcune volte la colonna n. 7 è vuota e quindi sto solo ricevendo un errore

E il mio codice


Sub sup_cal_area_sft()
Dim lru, plru As Long
Dim myless As String
Dim ttr_l, ttr_p, ttr_nql, ttr_nqp, trft As Variant

On Error GoTo Errorcatch

myless = "*" & "LESS" & "*"

    With ActiveSheet
        lru = .Cells(.Rows.Count, "c").End(xlUp).Row
        plru = .Cells(.Rows.Count, "h").End(xlUp).Row + 2
    End With
For i = plru To lru

ttr_l = "=PRODUCT((C" & i & "+D" & i & "/12)*(E" & i & "+F" & i & "/12)*-G" & i & ")"
ttr_p = "=PRODUCT((C" & i & "+D" & i & "/12)*(E" & i & "+F" & i & "/12)*G" & i & ")"

ttr_nql = "=PRODUCT((C" & i & "+D" & i & "/12)*-(E" & i & "+F" & i & "/12)" 
ttr_nqp = "=PRODUCT((C" & i & "+D" & i & "/12)*(E" & i & "+F" & i & "/12)" 
   trft = "=PRODUCT((C" & i & "+D" & i & "/12)*G" & i & ")"

If Cells(i, 5) <> "" Then

       If UCase(Cells(i, 2).Value) Like myless Then 'negative value

              If Cells(i, 7) <> "" Then
                Cells(i, 8) = ttr_l
              Else
                 Cells(i, 8) = ttr_nql
              End If



           ElseIf Not UCase(Cells(i, 2).Value) Like myless Then 'positive Value
             If Cells(i, 7) <> "" Then
                Cells(i, 8) = ttr_p
             Else
                Cells(i, 8) = ttr_nqp
              End If
          End If

' RFT Calculaion

   ElseIf Cells(i, 3) <> "" And Cells(i, 5) = "" and cells(i,4) <> "" Then
     Cells(i, 8) = trft


' Blank
Else
    Cells(i, 8) = ""

End If

Next i

Cells(lru + 3, 2).Select

exit sub

Errorcatch:
MsgBox Err.Description 

End Sub

2
benvenuto in superutente. Quale riga ti dà il messaggio di errore? Hai provato a eseguire il debug del codice?
Máté Juhász,

plru, ttr_nqp- Abbiamo convenzioni di denominazione per un motivo :).
Dave,

Risposte:


1

Hai perso una parentesi sulle linee:

ttr_nql = "=PRODUCT((C" & i & "+D" & i & "/12)*-(E" & i & "+F" & i & "/12)" 
ttr_nqp = "=PRODUCT((C" & i & "+D" & i & "/12)*(E" & i & "+F" & i & "/12)" 

Credo che dovrebbero essere:

ttr_nql = "=PRODUCT((C" & i & "+D" & i & "/12)*-(E" & i & "+F" & i & "/12))" 
ttr_nqp = "=PRODUCT((C" & i & "+D" & i & "/12)*(E" & i & "+F" & i & "/12))" 

Si noti che hai On Error GoTo Errorcatchimpostato, tuttavia questo probabilmente ti impedisce di ottenere informazioni di debug decenti (come quale linea in realtà non è riuscita). Come tale, lo rimuoverei mentre provavo a eseguire il debug dei problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.