Excel精英培训网

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

[已解决]用VBA写公式问

[复制链接]
发表于 2012-2-18 22:54 | 显示全部楼层 |阅读模式
我想用VBA写公式IF(COUNTIF(A3:D3,$H$1),1,2),从第3行写到1000行,要直接在格元格里显示出结果.怎样写代码呢?
最佳答案
2012-2-18 23:55
试试看!

  1. Sub 公式()
  2. Dim i As Integer
  3. For i = 3 To 1000
  4.     Cells(i, "E") = Evaluate("=IF(COUNTIF(A" & i & ":D" & i & ",$H$1),1,2)")
  5. Next
  6. End Sub
复制代码
建议楼主还是上传模拟附件,因为既然用到了vba,你的问题很可能无需写公式,或者有更快的解决代码。
发表于 2012-2-18 23:55 | 显示全部楼层    本楼为最佳答案   
试试看!

  1. Sub 公式()
  2. Dim i As Integer
  3. For i = 3 To 1000
  4.     Cells(i, "E") = Evaluate("=IF(COUNTIF(A" & i & ":D" & i & ",$H$1),1,2)")
  5. Next
  6. End Sub
复制代码
建议楼主还是上传模拟附件,因为既然用到了vba,你的问题很可能无需写公式,或者有更快的解决代码。
回复

使用道具 举报

发表于 2012-2-19 00:08 | 显示全部楼层
  1. Sub a()
  2.   Dim arr(1 To 998), i As Integer, k, m As Integer
  3.     For i = 3 To 1000
  4.       Set k = Cells(i, 1).Resize(1, 3).Find(Range("h1"))
  5.         m = m + 1
  6.       If k Is Nothing Then
  7.         arr(m) = 2
  8.       Else
  9.         arr(m) = 1
  10.       End If
  11.     Next i
  12.       Cells(3, "E").Resize(UBound(arr), 1) = Application.Transpose(arr)
  13. End Sub
复制代码
把你的数据从E3开始填充,如果你要改到其他单元格,请把最下面名的Cells(3, "E")改成其他的
回复

使用道具 举报

发表于 2012-2-19 00:26 | 显示全部楼层
回复

使用道具 举报

发表于 2012-2-19 00:38 | 显示全部楼层
本帖最后由 happym8888 于 2012-2-19 00:38 编辑
  1. Sub Gongshitiancong()
  2. Dim i As Integer
  3. For i = 3 To 1000
  4.     Cells(i, "E").Formula = "=IF(COUNTIF(A" & i & ":D" & i & ",$H$1),1,2)"
  5. Next
  6. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-2-19 15:22 | 显示全部楼层
0Mouse 发表于 2012-2-18 23:55
试试看!
建议楼主还是上传模拟附件,因为既然用到了vba,你的问题很可能无需写公式,或者有更快的解决 ...

非常感谢你的帮助.不知道怎么的,插不入附件,选定压缩好的附件后一直是提示等待.

本来是可以不用VBA的,我只是不想在表格是有公式,另外我觉得
用VBA写的话,以后要改变公式的所到的行数可以根据资料的占用的行数
自动判断写到多少行.
以后遇到数据大时,再劳你想个运行快的方法.

回复

使用道具 举报

 楼主| 发表于 2012-2-19 15:25 | 显示全部楼层
zjcat35 发表于 2012-2-19 00:08
把你的数据从E3开始填充,如果你要改到其他单元格,请把最下面名的Cells(3, "E")改成其他的

谢谢了,最佳答案只能先选一个.

用VBA写公式附件.zip

13.57 KB, 下载次数: 3

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 10:56 , Processed in 0.278226 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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