Excel精英培训网

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

[已解决]搜索特定数值,插入需求内容

[复制链接]
发表于 2017-8-2 10:29 | 显示全部楼层 |阅读模式
公司名称:
顺号
采购凭证
物料编码
物料名称
数量
单位
单价
总计
1

2
合计(小写)
#REF!
大写:(人民币)
#REF!
求助各路大神,能否根据输入的公司名称,自动计算基础数据内一共有多少项该公司产品,并求插入相应的行,同时插入对应的内容。谢谢!
最佳答案
2017-8-2 14:30
  1. Sub tt()
  2.     arr = Sheets(2).Range("a1:i" & Sheets(2).[a65536].End(3).Row)
  3.     ReDim brr(1 To UBound(arr), 1 To 9)
  4.     gs = [c1]
  5.     If Len(gs) = 0 Then MsgBox "请输入公司名称": Exit Sub
  6.     For i = 2 To UBound(arr)
  7.         If arr(i, 1) = gs Then
  8.             n = n + 1
  9.             brr(n, 1) = n
  10.             brr(n, 2) = arr(i, 3)
  11.             brr(n, 3) = ""
  12.             brr(n, 4) = arr(i, 4)
  13.             brr(n, 5) = arr(i, 5)
  14.             brr(n, 6) = arr(i, 7)
  15.             brr(n, 7) = arr(i, 8)
  16.             brr(n, 8) = arr(i, 9)
  17.             brr(n, 9) = arr(i, 7) * arr(i, 9)
  18.             s = s + brr(n, 9)
  19.         End If
  20.     Next
  21.     If n = 0 Then MsgBox gs & "无匹配记录": Exit Sub
  22.     With Sheets(1)
  23.         r = .[a65536].End(3).Row
  24.         If r > 6 Then .Rows(3).Resize(r - 6).Delete
  25.         .[a3:i4] = ""
  26.         If n > 2 Then .Rows(4).Resize(n - 2).Insert
  27.         .[a3].Resize(n, 9) = brr
  28.         For i = 1 To n
  29.             .Cells(i + 2, 2).Resize(, 2).Merge
  30.         Next
  31.         .Cells(n + 3, 4) = s
  32.     End With
  33. End Sub
复制代码

求助.zip

37.45 KB, 下载次数: 5

发表于 2017-8-2 14:30 | 显示全部楼层    本楼为最佳答案   
  1. Sub tt()
  2.     arr = Sheets(2).Range("a1:i" & Sheets(2).[a65536].End(3).Row)
  3.     ReDim brr(1 To UBound(arr), 1 To 9)
  4.     gs = [c1]
  5.     If Len(gs) = 0 Then MsgBox "请输入公司名称": Exit Sub
  6.     For i = 2 To UBound(arr)
  7.         If arr(i, 1) = gs Then
  8.             n = n + 1
  9.             brr(n, 1) = n
  10.             brr(n, 2) = arr(i, 3)
  11.             brr(n, 3) = ""
  12.             brr(n, 4) = arr(i, 4)
  13.             brr(n, 5) = arr(i, 5)
  14.             brr(n, 6) = arr(i, 7)
  15.             brr(n, 7) = arr(i, 8)
  16.             brr(n, 8) = arr(i, 9)
  17.             brr(n, 9) = arr(i, 7) * arr(i, 9)
  18.             s = s + brr(n, 9)
  19.         End If
  20.     Next
  21.     If n = 0 Then MsgBox gs & "无匹配记录": Exit Sub
  22.     With Sheets(1)
  23.         r = .[a65536].End(3).Row
  24.         If r > 6 Then .Rows(3).Resize(r - 6).Delete
  25.         .[a3:i4] = ""
  26.         If n > 2 Then .Rows(4).Resize(n - 2).Insert
  27.         .[a3].Resize(n, 9) = brr
  28.         For i = 1 To n
  29.             .Cells(i + 2, 2).Resize(, 2).Merge
  30.         Next
  31.         .Cells(n + 3, 4) = s
  32.     End With
  33. End Sub
复制代码

求助.rar

48.02 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2017-8-8 08:03 | 显示全部楼层

能给个说明吗?我要调整格式的时候改变模式用,谢谢!!!
回复

使用道具 举报

 楼主| 发表于 2017-8-8 11:48 | 显示全部楼层

我试了这个表,不好用啊

模版2.zip

53.47 KB, 下载次数: 2

回复

使用道具 举报

发表于 2017-8-8 15:16 | 显示全部楼层
请看附件。。。。。。。

模版2.rar

69.69 KB, 下载次数: 6

回复

使用道具 举报

 楼主| 发表于 2017-8-9 11:56 | 显示全部楼层
grf1973 发表于 2017-8-8 15:16
请看附件。。。。。。。

太感谢了,要是我想在名称后面插入一列图号,需要做什么变动呢?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 18:36 , Processed in 1.189059 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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