Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1955|回复: 8

[已解决]选区问题

[复制链接]
发表于 2011-8-25 06:15 | 显示全部楼层 |阅读模式
选区问题
选中a列有数据的后一半,请老师帮忙修改下面的代码
Sub Macro1()
h = [a65536].End(3).Row
  k = h / 2
    Range(a" & k & ":c" & h ").Select
   End Sub
最佳答案
2011-8-25 07:12
Sub Macro1()
    h = [a65536].End(3).Row
    k = h \ 2
    Range("a" & k & ":c" & h).Select
End Sub
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-8-25 07:12 | 显示全部楼层    本楼为最佳答案   
Sub Macro1()
    h = [a65536].End(3).Row
    k = h \ 2
    Range("a" & k & ":c" & h).Select
End Sub
回复

使用道具 举报

 楼主| 发表于 2011-8-25 07:58 | 显示全部楼层

老师能否说一下:为何 除法的符号用“\”正斜杠

本帖最后由 qhllqhll 于 2011-8-25 08:54 编辑

回复 豆丁 的帖子
老师能否说一下:为何 除法的符号用“\”正斜杠?;除法的 代用符号 不是“/”吗?
Sub Macro1()
    h = [a65536].End(3).Row
    k = h \ 2
    Range("a" & k & ":c" & h).Select
End Sub
谢谢老师 非常感谢
回复

使用道具 举报

发表于 2011-8-25 09:04 | 显示全部楼层
回复 qhllqhll 的帖子

/是精确值,如总行数7,则7/2 = 3.5,那么你选半就会出错因为找不到3.5行

\是舍尾只取整数值, 7\2 = 3, 后面的.5部分就去掉了
回复

使用道具 举报

发表于 2011-8-25 09:08 | 显示全部楼层
本帖最后由 adders 于 2011-8-25 09:12 编辑

Sub Macro1()
h = [a65536].End(3).Row
k = h \ 2 + 1        '+1行似乎是你想要的结果,以选择列的下半段
Range("a" & k & ":c" & h).Select
End Sub
回复

使用道具 举报

 楼主| 发表于 2011-8-25 09:15 | 显示全部楼层
回复 adders 的帖子

谢谢 vba 大师,!!!顶顶
回复

使用道具 举报

发表于 2011-8-25 09:24 | 显示全部楼层

还可以这样写h = [a65536].End(3).Row
不是都是这种写法么h = [a65536].End(xlup).Row
回复

使用道具 举报

发表于 2011-8-25 09:29 | 显示全部楼层
End(1)
End(xlToLeft)
End(2)
End(xlToRight)
End(3)
End(xlUp)
End(4)
End(xlDown)
回复

使用道具 举报

 楼主| 发表于 2011-8-30 06:19 | 显示全部楼层
谢谢各位老师的指点
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 13:08 , Processed in 0.266610 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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