Excel精英培训网

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

[已解决]关于变量的问题

[复制链接]
发表于 2013-6-28 19:42 | 显示全部楼层 |阅读模式
本帖最后由 Sinanju 于 2013-6-28 19:43 编辑

最近用一段小代码统计数据遇到了一点小问题 还希望请教一下各位老师

VBA code 里面有一小段大概是这么个意思:
  1. dim n as string
  2. dim x as integer
  3. for i = 1 to 100
  4.    n=worksheets("sheet2").cells(i,1).value
  5.    x=application.worksheetfunction.sumif(range("A:A"), n, range("B:B"))
  6. next i
  7.      
复制代码
我想问一下这样吧条件储存为变量是不是就没法用模糊查询了,以前公式里那种“*条件*"在这种情况下如何达成呢?

谢谢了!
最佳答案
2013-6-28 19:59
猜一下,是不是这个意思?
Sub aa()


Dim n As String
Dim x As Integer
For i = 1 To 100   
n = Worksheets("sheet2").Cells(i, 1).Value
   x = Application.WorksheetFunction.SumIf(Range("A:A"), "*" & n & "*", Range("B:B"))
Next i
     
End Sub
发表于 2013-6-28 19:50 | 显示全部楼层
application.worksheetfunction.sumif(range("A:A"), n, range("B:B"))
你这个是调用函数sumif进行条件求和呀。
回复

使用道具 举报

 楼主| 发表于 2013-6-28 19:54 | 显示全部楼层
ligh1298 发表于 2013-6-28 19:50
application.worksheetfunction.sumif(range("A:A"), n, range("B:B"))
你这个是调用函数sumif进行条件求和 ...

对啊 这个条件n是员工的姓名,应该是每次筛选一个名字。但是有的单元格统计里面写的是“员工1,员工2”。遇到这样的情况这个VBA就统计不了。
但是sumif方程本来是可以用*来代表模糊条件的啊。 比如说把条件写成“员工1*", 上面那种两个名字一起的单元格就可以统计了。我不知道把名字储存为变量之后这个模糊功能如何实现。
回复

使用道具 举报

发表于 2013-6-28 19:59 | 显示全部楼层    本楼为最佳答案   
猜一下,是不是这个意思?
Sub aa()


Dim n As String
Dim x As Integer
For i = 1 To 100   
n = Worksheets("sheet2").Cells(i, 1).Value
   x = Application.WorksheetFunction.SumIf(Range("A:A"), "*" & n & "*", Range("B:B"))
Next i
     
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-7-1 10:59 | 显示全部楼层
ligh1298 发表于 2013-6-28 19:59
猜一下,是不是这个意思?
Sub aa()

是的 谢谢。
我后来终于发现 * 打了引号就能用了。 {:011:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 21:21 , Processed in 0.295896 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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