Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: love_liwu

[已解决]麻烦老师们帮我看看代码出错在哪里?

[复制链接]
发表于 2017-11-29 12:48 | 显示全部楼层
Dim ys, brr(), arr, h
Sub 数据源()
Application.ScreenUpdating = False
Sheets("结果").Activate
Set d = CreateObject("scripting.dictionary")
arr = Sheets("原表").[a1].CurrentRegion
h = 10: n = 0
ReDim brr(1 To h, 1 To 16)
For i = 2 To UBound(arr)
     If arr(i, 4) = "本地非农业户口" And arr(i, 9) = "√" Then d(arr(i, 2)) = ""
Next i
ys = Application.RoundUp(d.Count / h, 0)
[k3] = ys
End Sub
Sub 分页(x)
sh = (x - 1) * h + 2
If sh + h <= UBound(arr) Then eh = sh + h - 1 Else eh = UBound(arr)
For i = sh To eh
     n = n + 1
     For j = 1 To 9
         brr(n, j) = arr(i, j)
     Next j
     brr(n, 14) = arr(i, 10)
     brr(n, 15) = arr(i, 11)
Next i
[a7].Resize(10, 16) = brr
Application.ScreenUpdating = True
[o3] = x
If x = 1 Then MsgBox "已经是第一页了"
If x = ys Then MsgBox "已经是最后一页了"
End Sub
Sub 下一页()
Call 数据源
If [o3] < ys Then [o3] = [o3] + 1
x = [o3]
Call 分页(x)
End Sub
Sub 上一页()
  Call 数据源
[o3] = [o3] - 1
x = [o3]
Call 分页(x)
End Sub
Sub 首页()
Call 数据源
Call 分页(1)
End Sub
Sub 末页()
Call 数据源
Call 分页(ys)
End Sub
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2017-11-29 12:52 | 显示全部楼层
Sub 下一页()
Call 数据源
If [o3] < ys Then [o3] = [o3] + 1
x = [o3]
Call 分页(x)
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 01:11 , Processed in 0.670252 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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