ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 942|回复: 11

[求助] 请问我这个语句有什么问题吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-27 14:45 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
提示我对象变量或with块变量未设置
主要是想要将jigou这个表里的数据,筛选30天内合约到期的客户,然后新建个子表,将jigou里对应客户的机构ID、机构主体名称、对应服务人员提取到新表中
然后错误的地方,我下面标黄了,我这到底哪里错了?


Sub 三十天内过期客户()
    Application.DisplayAlerts = False
    Dim del As Worksheet
    For Each del In ActiveWorkbook.Worksheets
        If del.Name = "30天内到期客户总结" Then
            del.Delete
        End If
    Next
    Application.DisplayAlerts = True
    '系统查找有没有这个名字的表,有的话就删除





    Sheets.Add after:=kanban
    ActiveSheet.Name = "30天内到期客户总结"
    '新建表格存放数据


    Dim lastrow As Integer
    Dim rng As Range, rng1 As Range
    Dim gr, qr, zr, br As Variant
    Dim arr() As Variant
    With Sheets(jigou.Name)
    lastrow = .Cells.SpecialCells(xlCellTypeLastCell).Row
    rng = .Range("A1").CurrentRegion
    gr = .Range("1:1").Find("客户分层", , , xlWhole).Column
    qr = .Range("1:1").Find("机构ID", , , xlWhole).Column
    zr = .Range("1:1").Find("机构主体名称", , , xlWhole).Column
    br = .Range("1:1").Find("客户成功人员", , , xlWhole).Column

    rng.AutoFilter field:=sr, Criteria1:="1个月内到期客户"
    Set rng1 = rng.SpecialCells(xlCellTypeVisible)
    lr = rng1.Columns.Count
    lc = rng1.Cells.Count / lr
     ReDim arr(1 To 3, 1 To lc)
    For Each r In rng1.Areas
        a = r
        For i = 1 To UBound(a)
            m = m + 1
            For j = 1 To UBound(a, 2)
                If m = 1 Then
                    arr(m, j) = a(qr, j)
                ElseIf m = 2 Then
                    arr(m, j) = a(zr, j)
                ElseIf m = 3 Then
                    arr(m, j) = a(br, j)
                End If
                Debug.Print arr(m, j)
            Next
        Next
    Next
    End With
    rng.AutoFilter
    Range("A1").Resize(3, lc) = arr

End Sub






FCBBF3EF-4F78-479e-85A1-88FD0B20DFB9.png

TA的精华主题

TA的得分主题

发表于 2023-4-27 16:03 | 显示全部楼层
这是查客户分层字段的列号。
代码是指定在第1行查找,如果你的标题行不在第1行就会出错。

TA的精华主题

TA的得分主题

发表于 2023-4-27 16:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我到觉得这位老师这个字段后面不小心加空格

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 16:16 | 显示全部楼层
ykcbf1100 发表于 2023-4-27 16:03
这是查客户分层字段的列号。
代码是指定在第1行查找,如果你的标题行不在第1行就会出错。

rng.AutoFilter field:=sr, Criteria1:="1个月内到期客户"
    Set rng1 = rng.SpecialCells(xlCellTypeVisible)


帮忙看看这个筛选的代码,我用msgbox测试了一下rng1这个存储筛选数据的对象,但是我发现并没有筛选,rngq里存储的依然是全部的数据,是我写错了吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 16:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
darklesson 发表于 2023-4-27 16:15
我到觉得这位老师这个字段后面不小心加空格

没有,在审核的时候我发现问题了,我在测试我VB的时候,表第一行的数据莫名其妙消失了,但是我写完以后还是不是我想要的结果

TA的精华主题

TA的得分主题

发表于 2023-4-27 16:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.png 这是个什么东东

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 16:26 | 显示全部楼层

底表名字,本来是sheet7的,我改了他名称改成jigou

TA的精华主题

TA的得分主题

发表于 2023-4-27 16:29 | 显示全部楼层
xzp0706 发表于 2023-4-27 16:26
底表名字,本来是sheet7的,我改了他名称改成jigou

老师,语法错误。用sheets("jigou").name

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 16:36 | 显示全部楼层
darklesson 发表于 2023-4-27 16:29
老师,语法错误。用sheets("jigou").name

我用WITH jigou  就没有错误

但是。。。我现在问题是
rng.AutoFilter field:=sr, Criteria1:="1个月内到期客户"
    Set rng1 = rng.SpecialCells(xlCellTypeVisible)
这个语句,我用msgbox测试了一下rng1这个存储筛选数据的对象,但是我发现并没有筛选,rngq里存储的依然是全部的数据,是我写错了吗?

TA的精华主题

TA的得分主题

发表于 2023-4-27 16:40 | 显示全部楼层
xzp0706 发表于 2023-4-27 16:36
我用WITH jigou  就没有错误

但是。。。我现在问题是

老师,你可以坚持你的固执。但或许也可以尝试一下改成 with sheets("jigou")
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 05:27 , Processed in 0.035463 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表