简体   繁体   English

VBA“未定义用户定义类型”

[英]VBA "user-defined type not defined"

I'm getting the "user-defined type not defined" error in this line of my code我在这行代码中收到“未定义用户定义的类型”错误

Sub Customer_Load()

This my code这是我的代码

Option Explicit
Sub Customer_Load()
  Dim CltRow As Long, LastRepRow As Lon, CustCol As Long
  With Sheet1
    If .Range("B6").Value = Empty Then
        MsgBox "Por favor, seleccione un cliente"
        Exit Sub
    End If
    CltRow = .Range("B6").Value
        
        'Clear Existing Data
        .Range("E4:G4,E6:G6,E8:G8,E10:G10,E12:G12,J4:L4, J6:L6,J8:L8,J10:L10,J12:L12").ClearContents 'Clear Customer Cells
        .Range("D17:I45").ClearContents 'Clear All Other Fields
        
        For CustCol = 1 To 12
            .Range(Sheet2.Cells(1, CustCol).Value).Value = Sheet2.Cells(CltRow, CustCol).Value
        Next CustCol
        
        .Shapes("ExistCustGrp").Visible = msoCTrue
        .Shapes("NewCustGrp").Visible = msoFalse
        .Shapes("ExistRepGrp").Visible = msoCTrue
        .Shapes("NewRepBtn").Visible = msoFalse
    End With
End Sub

I saw that a way to fix this error is by adding the available references, but these are the only available references I have.我看到解决此错误的一种方法是添加可用的引用,但这些是我拥有的唯一可用的引用。

在此处输入图像描述

You have a syntax error in the third Line (Long not lon), lon doesn't exist:您在第三行有语法错误(Long not lon),lon 不存在:

Dim CltRow As Long, LastRepRow As Lon, CustCol As Long


Dim CltRow As Long, LastRepRow As Long, CustCol As Long

Also i think you don't want the data type "Long".另外我认为您不想要数据类型“Long”。 Instead you want "Row".相反,您想要“行”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM