返回信息流最后一列是同类数据,但是前面列数不同
这是一条镜像帖。来源:北邮人论坛 / office-tool / #15563同步于 2008/12/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
OfficeTool机器人发帖
【求助】excel如何取每行最后一列?
waitingalone
2008/12/2镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
Sub Macro1()
Worksheets("Sheet1").Activate
Range("A1").End(xlToRight).Select
End Sub
+++++++++++++++++++++ 我是传说中的分割线 *(^_<)* ++++++++++++++++++++++
End 属性
请参阅 应用于 示例 特性
返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。Range 对象,只读。
expression.End(Direction)
expression 必需。 该表达式返回“应用于”列表中的对象之一。
Direction XlDirection 类型,必需。所要移动的方向。
XlDirection 可为 XlDirection 常量之一。
xlDown
xlToRight
xlToLeft
xlUp
示例
本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。
Range("B4").End(xlUp).Select本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。
Range("B4").End(xlToRight).Select
【 在 police (我其实想换个名。。。。) 的大作中提到: 】
: vba搞起吧。。
ctrl+键盘左键
直接就到最后一列了,同样可以用ctrl+其它方向键得到各种形式的最边上一行或一列
效果同xiongqq说的End+方向键,但更方便操作
他应该有很多行。。
【 在 Secret (流星) 的大作中提到: 】
: ctrl+键盘左键
: 直接就到最后一列了,同样可以用ctrl+其它方向键得到各种形式的最边上一行或一列
: 效果同xiongqq说的End+方向键,但更方便操作
: ...................
【 在 xiongQQ 的大作中提到: 】
: Sub Macro1()
: Worksheets("Sheet1").Activate
: Range("A1").End(xlToRight).Select
: ...................
End(xlToRight)不能完全满足楼主的需求,因为End(xlToRight)遇到空range则不会到达行尾
下面这个宏基本可以完成楼主的要求,除非首列为空;不过要完全考虑各种空列的情况,写起来倒是不麻烦,运行效率就太低了。。。本来excel里面大量数据处理效率就挺低的
[quote]
Sub Macro1()
'这个宏可以将sheet1中所有行的最后一个range内容复制到sheet2的第一列的对应行
Worksheets("Sheet1").Activate
Dim RowCount As Long
'获得总行数
'2003及之前版本用65536,2007用1048576
RowCount = Range("A65536").End(xlUp).Row
Dim i As Long
'从第一行到非空的最后一行
For i = 1 To RowCount
'将每行最后一个非空单元格内容复制到sheet2的第一列的对应行
'2003及以前版本用IV,2007用XFD
Worksheets("Sheet2").Range("A" & i).Value = Range("IV" & i).End(xlToLeft).Value
Next i
End Sub
[/quote]