У меня ошибка диапазона с использованием Useform "Method_Default диапазона объекта не удалось - PullRequest
0 голосов
/ 17 апреля 2020

Я создаю форму для создания, изменения, поиска и удаления данных. когда я запускаю код для создания данных, он показывает ошибку:

Ошибка времени выполнения '-2147417848 (80010108)': Method'_Default 'объекта' range'failed.

Я пытался изменить объект (имя рабочей таблицы) для (activesheet.), Активируя лист, на котором я регистрирую данные, которые хочу добавить, но все еще не работаю.

В коде есть несколько процедур, но у меня возникают проблемы только при создании новых данных. В начале это работало хорошо, но теперь у него есть эта проблема. Я новое программирование.

Код не работает в этой области S

et oCelda = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1)
        oCelda = consecutivo

полный код, как следует

  Private Sub Cmb_Registro_Click()

   Dim oCelda As Range
    Dim bCheck As Boolean
    Dim Consecutivo as Double, file As long, Col As long, Final  As Long
    Worksheets("Data").Activate

    bCheck = Txt_Fecha <> "" And Cbo_Categoria <> "" And Cbo_Subcategoria <> "" And Txt_Monto <> "" _
    And Cbo_Periodo <> "" And Txt_Descripcion <> ""
    Col = 1 
    fila = 2 
    Cbo_Periodo.Enabled = False
        Do While ActiveSheet.Cells(fila, Col) <> Empty
          fila = fila + 1
        Loop
          Final = fila
            Consecutivo = Val(ActiveSheet.Cells(Final - 1, Col)) 
            If Consecutivo = 0 Then 
                consecutivo = 1
            Else
                consecutivo = ActiveSheet.Cells(Final - 1, Col) + 1 
            End If
      If bCheck And optIngreso Then
            *Set oCelda = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1)
            oCelda = consecutivo*
            oCelda.Offset(0, 1) = CDate(Txt_Fecha)
            oCelda.Offset(0, 2) = CLng(Txt_Monto)
            oCelda.Offset(0, 3) = lblIngreso.Caption
            oCelda.Offset(0, 4) = Txt_Descripcion
            oCelda.Offset(0, 5) = Cbo_Categoria
            oCelda.Offset(0, 6) = Cbo_Subcategoria
            oCelda.Offset(0, 7) = Cbo_Periodo

            MsgBox "Registro completo"

            Unload Me 

    ElseIf bCheck And optEgreso Then


    *Set oCelda = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1)
            oCelda = consecutivo*

            oCelda.Offset(0, 1) = CDate(Txt_Fecha)
            oCelda.Offset(0, 2) = CLng(Txt_Monto)
            oCelda.Offset(0, 3) = lblEgreso.Caption
            oCelda.Offset(0, 4) = Txt_Descripcion
            oCelda.Offset(0, 5) = Cbo_Categoria
            oCelda.Offset(0, 6) = Cbo_Subcategoria
            oCelda.Offset(0, 7) = Cbo_Periodo
            MsgBox "Registro completo"
            Unload Me
    Else
            MsgBox "Faltan datos"

    End If
    Worksheets("Inicio").Activate
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...