Excel精英培训网

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

[已解决]求公式填充代码。

[复制链接]
发表于 2013-6-9 18:53 | 显示全部楼层 |阅读模式
本帖最后由 lyq123d 于 2013-6-17 18:09 编辑

之前写的可能有点歧义,更改一下:
如何选取A列最后一个非空单元格行数"N",并将B2单元格中的公式从B2一直填充到B列的"N"行。
最佳答案
2013-6-17 18:22
n = Sheets("汇总").cells(rows.count,1).End(xlUp).Row

用这个更好一些  
65535 就我所知10的最大函数是这么多行
如果你的数字过大也会报错的
发表于 2013-6-9 19:03 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-6-9 19:11 | 显示全部楼层
lyf7276 发表于 2013-6-9 19:03
range("B2")="=A2*12"
range("B2:B"&n).FillDown

没搞懂你的N是怎么取的值。

其他地方找了一个代码是这样的:
   Dim n As Long
   n = Sheets("汇总").[A65535].End(xlUp).Row
    Range("B2").Select
   ActiveCell.FormulaR1C1 = "= MID(RC[-1],10,3)"     这句是我要的公式
    Selection.AutoFill Destination:=Range("B2:B" & n)

但是填充不了,n的取值应该是没错的,估计是最后一句有问题,但是不知道问题在哪里。
回复

使用道具 举报

发表于 2013-6-9 19:19 | 显示全部楼层
lyq123d 发表于 2013-6-9 19:11
没搞懂你的N是怎么取的值。

其他地方找了一个代码是这样的:

没有问题吧  这段代码
回复

使用道具 举报

发表于 2013-6-9 19:25 | 显示全部楼层
range("B2")="=A2*12"
range("B2:B"&n).FillDown
没有附件,不知道你要个什么公式,我上面只是一句代码例子,意思是在B2写入公式后,B2到Bn按照这个公式填充。N是个你想要填充到的行号。
回复

使用道具 举报

发表于 2013-6-9 19:33 | 显示全部楼层
'假如A列数据从A2开始
Sub 提取()
   n = Sheets("汇总").[A65535].End(xlUp).Row
   For i = 2 To n
   Cells(i, 2) = Mid(Range("a" & i), 10, 3)
Next
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-6-17 18:09 | 显示全部楼层
1032446692 发表于 2013-6-9 19:19
没有问题吧  这段代码

  n = Sheets("汇总").[A1048576].End(xlUp).Row

之前那个尝试了很久都不行,后来发现原来我的数据不只有65535行,有70000多行,后来把65535更改成1048576就可以了,具体是为什么我也搞不清楚。
回复

使用道具 举报

发表于 2013-6-17 18:22 | 显示全部楼层    本楼为最佳答案   
n = Sheets("汇总").cells(rows.count,1).End(xlUp).Row

用这个更好一些  
65535 就我所知10的最大函数是这么多行
如果你的数字过大也会报错的
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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