方法“Range”作用于对象“_Worksheet”时失败

时间:2022-09-14 19:16:37
哪位老师帮忙看一下这段VBA代码如何修改?谢谢!!!
补充说明:这是一段设置权限管理的代码。

Public 行号 As Integer

Private Sub Frame1_Click()

End Sub

Private Sub UserForm_initialize()
Dim intRowsCount As Integer, i As Integer

Application.EnableEvents = False
intRowsCount = 用户管理.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To intRowsCount
    用户列表.AddItem 用户管理.Range("A" & i)
Next
用户列表.ListIndex = 0
Application.EnableEvents = True
End Sub

Private Sub 关闭_Click()
Unload Me
End Sub

Private Sub 确定_Click()
With 用户管理
    .Range("C" & 行号) = 供货商资料建立.Value ----此处报错:方法“Range”作用于对象“_Worksheet”时失败
    .Range("D" & 行号) = 供货商资料查询.Value
    .Range("E" & 行号) = 商品资料建立.Value
    .Range("F" & 行号) = 商品资料查询.Value
    .Range("G" & 行号) = 入库.Value
    .Range("H" & 行号) = 入库查询.Value
    .Range("I" & 行号) = 出库.Value
    .Range("J" & 行号) = 出库查询.Value
    .Range("K" & 行号) = 出库分析.Value
    .Range("L" & 行号) = 库存.Value
    .Range("M" & 行号) = 库存查询.Value
    .Range("N" & 行号) = 管理用户.Value
End With
Unload Me
End Sub

Private Sub 用户列表_change()
Dim intRowsCount As Integer, i As Integer

intRowsCount = 用户管理.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To intRowsCount
    If 用户管理.Range("A" & i) = 用户列表.Text Then
        With 用户管理
            供货商资料建立.Value = CBool(.Range("C" & i))
            供货商资料查询.Value = CBool(.Range("D" & i))
            商品资料建立.Value = CBool(.Range("E" & i))
            商品资料查询.Value = CBool(.Range("F" & i))
            入库.Value = CBool(.Range("G" & i))
            入库查询.Value = CBool(.Range("H" & i))
            出库.Value = CBool(.Range("I" & i))
            出库查询.Value = CBool(.Range("J" & i))
            出库分析.Value = CBool(.Range("K" & i))
            库存.Value = CBool(.Range("L" & i))
            库存查询.Value = CBool(.Range("M" & i))
            管理用户.Value = CBool(.Range("N" & i))
        End With
        Exit Sub
    End If
        供货商资料建立.Value = False
        供货商资料查询.Value = False
        商品资料建立.Value = False
        商品资料查询.Value = False
        入库.Value = False
        入库查询.Value = False
        出库.Value = False
        出库查询.Value = False
        出库分析.Value = False
        库存.Value = False
        库存查询.Value = False
        管理用户.Value = False
Next
End Sub

13 个解决方案

#1


供货商资料建立.Value       
sheet.range.value    你把range忘记了

#2


供货商资料建立  
是名称还是sheet名?

#3


你那一堆中文名称是如何 set 的。看样子应该是 Range 对象。

#4


只是用VBA插入的用户窗体

#5


难道此帖就这么沉了,还是各位太忙了? 顺便问一下:如何上传附件啊?

#6


引用
With 用户管理
  .Range("C" & 行号) = 供货商资料建立.Value



你用了with,里面的"供货商资料建立.Value"当然会报错喽,应该写全,userform.供货商资料建立.Value

#7


呃,错了,你没加.啊,应该不是这个问题,传附件到资源

#8


首先谢谢各位:

你用了with,里面的"供货商资料建立.Value"当然会报错喽,应该写全,userform.供货商资料建立.Value
[/Quote]

我按照您好的说加了,但调试后还在原来的位置报错: ---要求对象


另外,附件我已经上传了,请各位查看附件可能会更清楚点,有劳大家了!

#9


呃,附件上传了,那给链接下载啊

#10


附件在哪呢?

#11


不好意思!我忘了给大家链接啦,现在附上链接: http://download.csdn.net/source/3565630有劳大家啦

#12


顺便提醒一下各位:登录用户名:Administrator    密码:admin       VBA工程无密码

#13


问题已经解决了,谢谢各位的观注!!!

#1


供货商资料建立.Value       
sheet.range.value    你把range忘记了

#2


供货商资料建立  
是名称还是sheet名?

#3


你那一堆中文名称是如何 set 的。看样子应该是 Range 对象。

#4


只是用VBA插入的用户窗体

#5


难道此帖就这么沉了,还是各位太忙了? 顺便问一下:如何上传附件啊?

#6


引用
With 用户管理
  .Range("C" & 行号) = 供货商资料建立.Value



你用了with,里面的"供货商资料建立.Value"当然会报错喽,应该写全,userform.供货商资料建立.Value

#7


呃,错了,你没加.啊,应该不是这个问题,传附件到资源

#8


首先谢谢各位:

你用了with,里面的"供货商资料建立.Value"当然会报错喽,应该写全,userform.供货商资料建立.Value
[/Quote]

我按照您好的说加了,但调试后还在原来的位置报错: ---要求对象


另外,附件我已经上传了,请各位查看附件可能会更清楚点,有劳大家了!

#9


呃,附件上传了,那给链接下载啊

#10


附件在哪呢?

#11


不好意思!我忘了给大家链接啦,现在附上链接: http://download.csdn.net/source/3565630有劳大家啦

#12


顺便提醒一下各位:登录用户名:Administrator    密码:admin       VBA工程无密码

#13


问题已经解决了,谢谢各位的观注!!!