Consulting

Results 1 to 2 of 2

Thread: run-time error 91

  1. #1

    Exclamation run-time error 91

    Hi there! I'm new to his forum, so I don't know if I'm posting in the right section, but I'm a bit desperate... i've been struggling with a run-time error 91 all day, without understanding where it is. I'm also new to the vba programming, so the code may seem a bit amateur to the most experts... PLEASE HELP!!! it only errors on leaving the form. until I click the cmdCLOSE_click() it works great!
    here's the code:

    Private Sub UserForm_initialize()
    
    
    With Me
    .dropRESPinterno.TabIndex = 1
    .boxDATArecDOC.TabIndex = 2
    .dropCLT.TabIndex = 3
    .boxCEprev.TabIndex = 4
    .boxLOCALchave.TabIndex = 5
    .dropLEVANTAchave.TabIndex = 6
    .boxARTIGO.TabIndex = 7
    .boxREGISTO.TabIndex = 8
    .boxMORADA.TabIndex = 9
    .boxFRACAO.TabIndex = 10
    .boxDISTRITO.TabIndex = 11
    .boxCONCELHO.TabIndex = 12
    .boxFREGUESIA.TabIndex = 13
    .boxCOORDENADAS.TabIndex = 14
    .dropELEMENTOSfornecidos.TabIndex = 15
    .dropTIPO.TabIndex = 16
    .dropTIPOLOGIA.TabIndex = 17
    .dropTECcalc.TabIndex = 18
    .dropTEClevant.TabIndex = 19
    .boxDATAenvioDOC.TabIndex = 20
    .cmdALTERAR.TabIndex = 21
    .cmdCLOSE.TabIndex = 22
    End With
    
    
    Dim aCell1 As Range
        For Each aCell1 In Range("RESPONSAVEL")
            dropRESPinterno.AddItem (aCell1.Value)
        Next
        
        Dim aCell2 As Range
        For Each aCell2 In Range("CLIENTES")
            dropCLT.AddItem (aCell2.Value)
        Next
        
        Dim aCell3 As Range
        For Each aCell3 In Range("CHAVES")
            dropLEVANTAchave.AddItem (aCell3.Value)
        Next
        
        Dim aCell4 As Range
        For Each aCell4 In Range("ELEMENTOS")
            dropELEMENTOSfornecidos.AddItem (aCell4.Value)
        Next
        
        Dim aCell5 As Range
        For Each aCell5 In Range("TIPO")
            dropTIPO.AddItem (aCell5.Value)
        Next
        
        Dim aCell6 As Range
        For Each aCell6 In Range("TIPOLOGIA")
            dropTIPOLOGIA.AddItem (aCell6.Value)
        Next
        
        Dim acell7 As Range
        For Each acell7 In Range("CALCULO")
            dropTECcalc.AddItem (acell7.Value)
        Next
        
        Dim aCell8 As Range
        For Each aCell8 In Range("LEVANTAMENTO")
            dropTEClevant.AddItem (aCell8.Value)
        Next
    
    
    Dim CODprocesso As String
    Dim row_CODproc As Single
    
    
    CODprocesso = InputBox("Insere o CÓDIGO DE PROCESSO a pesquisar e editar")
    
    
    row_CODproc = Application.Match(CODprocesso, Worksheets("GESTÃO PROCESSOS").Range("CODproc"), 0)
    
    
    fieldCODprocesso = CODprocesso
    fieldIDprocessoCLT = Worksheets("GESTÃO PROCESSOS").Range("IDprocessoCLT").Item(row_CODproc).Value
    fieldCODoutrosCLT = Worksheets("GESTÃO PROCESSOS").Range("outrosCODclt").Item(row_CODproc).Value
    fieldRESPinterno = Worksheets("GESTÃO PROCESSOS").Range("RESPinterno").Item(row_CODproc).Value
    fieldDATArecDOC = Worksheets("GESTÃO PROCESSOS").Range("DATArecDOC").Item(row_CODproc).Value
    fieldCLT = Worksheets("GESTÃO PROCESSOS").Range("CLT").Item(row_CODproc).Value
    fieldCEprevistos = Worksheets("GESTÃO PROCESSOS").Range("CEprevistos").Item(row_CODproc).Value
    fieldLOCALchaves = Worksheets("GESTÃO PROCESSOS").Range("LOCALchaves").Item(row_CODproc).Value
    fieldquemLEVANTA = Worksheets("GESTÃO PROCESSOS").Range("quemLEVANTA").Item(row_CODproc).Value
    fieldARTIGO = Worksheets("GESTÃO PROCESSOS").Range("ARTIGO").Item(row_CODproc).Value
    fieldREGISTO = Worksheets("GESTÃO PROCESSOS").Range("REGISTO").Item(row_CODproc).Value
    fieldMORADA = Worksheets("GESTÃO PROCESSOS").Range("MORADA").Item(row_CODproc).Value
    fieldFRACAO = Worksheets("GESTÃO PROCESSOS").Range("FRACAO").Item(row_CODproc).Value
    fieldDISTRITO = Worksheets("GESTÃO PROCESSOS").Range("DISTRITO").Item(row_CODproc).Value
    fieldCONCELHO = Worksheets("GESTÃO PROCESSOS").Range("CONCELHO").Item(row_CODproc).Value
    fieldFREGUESIA = Worksheets("GESTÃO PROCESSOS").Range("FREGUESIA").Item(row_CODproc).Value
    fieldCOORDENADAS = Worksheets("GESTÃO PROCESSOS").Range("COORDENADAS").Item(row_CODproc).Value
    fieldELEMENTOSfornecidos = Worksheets("GESTÃO PROCESSOS").Range("ELEMENTOSfornecidos").Item(row_CODproc).Value
    fieldTIPO = Worksheets("GESTÃO PROCESSOS").Range("TIPOimovel").Item(row_CODproc).Value
    fieldTIPOLOGIA = Worksheets("GESTÃO PROCESSOS").Range("TIPOLOGIAimovel").Item(row_CODproc).Value
    fieldTECcalc = Worksheets("GESTÃO PROCESSOS").Range("TECcalculo").Item(row_CODproc).Value
    fieldTEClevanta = Worksheets("GESTÃO PROCESSOS").Range("TEClevanta").Item(row_CODproc).Value
    fieldDATAenvioDOC = Worksheets("GESTÃO PROCESSOS").Range("DATAenvioDOC").Item(row_CODproc).Value
    
    
    UserForm1.Show
    
    
    End Sub

    Private Sub cmdALTERAR_click()
    
    
    'alteracao dos valores da tabela, caso os campos (editaveis) nao estejam vazios
    novoresp:
    If IsEmpty(dropRESPinterno) Then
        MsgBox ("RESPONSAVEL nao atribuido!")
        GoTo nova_data
        End If
    Worksheets("GESTÃO PROCESSOS").Range("RESPinterno").Item(row_CODproc + 2).Value = dropRESPinterno.Value
    
    
    nova_data:
    If IsEmpty(boxDATArecDOC) Then
        GoTo novo_clt
        End If
    Worksheets("GESTÃO PROCESSOS").Range("DATArecDOC").Item(row_CODproc + 2).Value = boxDATArecDOC
    
    
    novo_clt:
    If IsEmpty(dropCLT) Then
        GoTo novo_ceprevistos
        End If
    Worksheets("GESTÃO PROCESSOS").Range("CLT").Item(row_CODproc + 2).Value = dropCLT
    
    
    novo_ceprevistos:
    If IsEmpty(boxCEprevistos) Then
        GoTo novo_local
        End If
    Worksheets("GESTÃO PROCESSOS").Range("CEprevistos").Item(row_CODproc + 2).Value = boxCEprevistos
    
    
    novo_local:
    If IsEmpty(boxLOCALchaves) Then
        GoTo novo_quemLEVANTA
        End If
    Worksheets("GESTÃO PROCESSOS").Range("LOCALchaves").Item(row_CODproc + 2).Value = boxLOCALchaves
    
    
    novo_quemLEVANTA:
    If IsEmpty(dropquemLEVANTA) Then
        GoTo novo_artigo
        End If
    Worksheets("GESTÃO PROCESSOS").Range("quemLEVANTA").Item(row_CODproc + 2).Value = dropquemLEVANTA
    
    
    novo_artigo:
    If IsEmpty(boxARTIGO) Then
        GoTo novo_registo
        End If
    Worksheets("GESTÃO PROCESSOS").Range("ARTIGO").Item(row_CODproc + 2).Value = boxARTIGO
    
    
    novo_registo:
    If IsEmpty(boxREGISTO) Then
        GoTo nova_morada
        End If
    Worksheets("GESTÃO PROCESSOS").Range("REGISTO").Item(row_CODproc + 2).Value = boxREGISTO
    
    
    nova_morada:
    If IsEmpty(boxMORADA) Then
        GoTo nova_fracao
        End If
    Worksheets("GESTÃO PROCESSOS").Range("MORADA").Item(row_CODproc + 2).Value = boxMORADA
    
    
    nova_fracao:
    If IsEmpty(boxFRACAO) Then
        GoTo novo_distrito
        End If
    Worksheets("GESTÃO PROCESSOS").Range("FRACAO").Item(row_CODproc + 2).Value = boxFRACAO
    
    
    novo_distrito:
    If IsEmpty(boxDISTRITO) Then
        GoTo novo_concelho
        End If
    Worksheets("GESTÃO PROCESSOS").Range("DISTRITO").Item(row_CODproc + 2).Value = boxDISTRITO
    
    
    novo_concelho:
    If IsEmpty(boxCONCELHO) Then
        GoTo nova_freguesia
        End If
    Worksheets("GESTÃO PROCESSOS").Range("CONCELHO").Item(row_CODproc + 2).Value = boxCONCELHO
    
    
    nova_freguesia:
    If IsEmpty(boxFREGUESIA) Then
        GoTo nova_coord
        End If
    Worksheets("GESTÃO PROCESSOS").Range("FREGUESIA").Item(row_CODproc + 2).Value = boxFREGUESIA
    
    
    nova_coord:
    If IsEmpty(boxCOORDENADAS) Then
        GoTo novo_elementos
        End If
    Worksheets("GESTÃO PROCESSOS").Range("COORDENADAS").Item(row_CODproc + 2).Value = boxCOORDENADAS
    
    
    novo_elementos:
    If IsEmpty(dropELEMENTOSfornecidos) Then
        GoTo novo_tipo
        End If
    Worksheets("GESTÃO PROCESSOS").Range("ELEMENTOSfornecidos").Item(row_CODproc + 2).Value = dropELEMENTOSfornecidos
    
    
    novo_tipo:
    If IsEmpty(dropTIPO) Then
        GoTo nova_tipologia
        End If
    Worksheets("GESTÃO PROCESSOS").Range("TIPOimovel").Item(row_CODproc + 2).Value = dropTIPO
    
    
    nova_tipologia:
    If IsEmpty(dropTIPOLOGIA) Then
        GoTo novo_TECcalc
        End If
    Worksheets("GESTÃO PROCESSOS").Range("TIPOLOGIAimovel").Item(row_CODproc + 2).Value = dropTIPOLOGIA
    
    
    novo_TECcalc:
    If IsEmpty(dropTECcalc) Then
        GoTo novo_TEClevanta
        End If
    Worksheets("GESTÃO PROCESSOS").Range("TECcalculo").Item(row_CODproc + 2).Value = dropTECcalc
    
    
    novo_TEClevanta:
    If IsEmpty(dropTEClevanta) Then
        GoTo nova_DATAenvio
        End If
    Worksheets("GESTÃO PROCESSOS").Range("TEClevanta").Item(row_CODproc + 2).Value = dropTEClevanta
    
    
    nova_DATAenvio:
    If IsEmpty(boxDATAenvioDOC) Then
        Exit Sub
        End If
    Worksheets("GESTÃO PROCESSOS").Range("DATAenvioDOC").Item(row_CODproc + 2).Value = boxDATAenvioDOC
    
    
    End Sub


    Private Sub cmdCLOSE_Click()
    Unload Me
    End Sub
    Last edited by SamT; 07-02-2015 at 10:52 AM. Reason: Formatted Code with # Icon

  2. #2
    Moderator VBAX Sage SamT's Avatar
    Joined
    Oct 2006
    Location
    Near Columbia
    Posts
    7,814
    Location
    Dim aCell1 As Range 
        For Each aCell1 In Range("RESPONSAVEL") 
            dropRESPinterno.AddItem (aCell1.Value) 
        Next
    Should be

    dropRESPinterno.List = Range("RESPONSAVEL")
    And then
        If IsEmpty(dropRESPinterno) Then 
            MsgBox ("RESPONSAVEL nao atribuido!") 
            GoTo nova_data 
        End If
    Should be
        If dropRESPinterno = "" Then 
            MsgBox ("RESPONSAVEL nao atribuido!") 
            GoTo nova_data 
        End If
    I expect the student to do their homework and find all the errrors I leeve in.


    Please take the time to read the Forum FAQ

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •