Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

你正在寻找更好的Excel学习教程吗?Excel技巧80集+数据透视表+函数初中高全套+VBA80集,想学的这儿全都有
查看: 305|回复: 15

[已解决] [已解决]用VBA方法完成成本核算

[复制链接]
发表于 2017-7-23 17:20 | 显示全部楼层 |阅读模式
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
本帖最后由 绝峰 于 2017-7-26 13:06 编辑

请各位大侠帮忙用VBA方法完成成本核算,要求在附件里,谢谢! 成本表.rar (326.41 KB, 下载次数: 23)

13/common_140_usergroup_icon.gif

实习版主

金币
20  
积分
26 
帖子
15 

1

大灰狼1976发布于 2017-7-26 08:50:13 |显示全部回帖
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Count > 1 Then Exit Sub
  3. If Target.Address <> [g2].Address Then Exit Sub
  4. Union([a20:j49], [e4:j16]).ClearContents
  5. If Target = "" Then Exit Sub
  6. Dim rng As Range
  7. Set rng = Sheets(3).Columns(1).Find(Target.Offset(, -3), lookat:=xlWhole)
  8. If rng Is Nothing Then Exit Sub
  9. Dim arr, brr(1 To 30, 1 To 10), crr(1 To 13, 1 To 6), i&, r&, r1&, s$, s1$, d4$
  10. s = [d2]: s1 = Target: d4 = Range("d4").Value
  11. arr = Sheets(2).Range("b3:m" & Sheets(2).[b65536].End(3).Row)
  12. For i = 1 To UBound(arr)
  13.   If arr(i, 1) = s And arr(i, 2) = s1 Then
  14.     If arr(i, 4) <> d4 Then
  15.       r = r + 1
  16.       brr(r, 1) = r
  17.       brr(r, 2) = arr(i, 4)
  18.       brr(r, 3) = arr(i, 3)
  19.       brr(r, 4) = arr(i, 6)
  20.       brr(r, 5) = arr(i, 11)
  21.       brr(r, 6) = arr(i, 7)
  22.       brr(r, 7) = arr(i, 8)
  23.       brr(r, 8) = arr(i, 9)
  24.       brr(r, 9) = arr(i, 10)
  25.       brr(r, 10) = arr(i, 12)
  26.     Else
  27.       r1 = r1 + 1
  28.       crr(r1, 1) = arr(i, 5)
  29.       crr(r1, 2) = arr(i, 9)
  30.       crr(r1, 3) = arr(i, 8)
  31.       crr(r1, 4) = arr(i, 9)
  32.       crr(r1, 5) = arr(i, 10)
  33.       crr(r1, 6) = arr(i, 12)
  34.     End If
  35.   End If
  36. Next i
  37. [a20].Resize(30, 10) = brr
  38. [e4].Resize(13, 6) = crr
  39. End Sub
复制代码
发表于 2017-7-23 22:32 | 显示全部楼层
請問每個產品型號的材料類別都一樣嗎,就是29種?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-24 09:00 | 显示全部楼层
本帖最后由 绝峰 于 2017-7-24 09:04 编辑
idnoidno 发表于 2017-7-23 22:32
請問每個產品型號的材料類別都一樣嗎,就是29種?

材料类别一共30种,但材料名称会不一样,也就是说会超过30行,谢谢!
回复 支持 反对

使用道具 举报

发表于 2017-7-24 11:07 | 显示全部楼层
先给你解决照片问题吧,使用方法:照相机功能+单元格区域命名+函数公式
附件请测试,只要修改D2单元格数据就能实时更新图片。

成本表.zip

740.32 KB, 下载次数: 10

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-24 22:55 | 显示全部楼层
本帖最后由 绝峰 于 2017-7-24 23:19 编辑
大灰狼1976 发表于 2017-7-24 11:07
先给你解决照片问题吧,使用方法:照相机功能+单元格区域命名+函数公式
附件请测试,只要修改D2单元格数据 ...

很神奇,我明白了,请老师帮我把其他要求完成,不胜感激!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-25 14:22 | 显示全部楼层
请各位大侠帮帮忙,在线等,谢谢!
回复 支持 反对

使用道具 举报

发表于 2017-7-25 15:52 | 显示全部楼层
你再试一下,修改D2的值,可以直接在下拉列表选择。

成本表.zip

858.52 KB, 下载次数: 18

回复 支持 反对

使用道具 举报

发表于 2017-7-25 16:04 | 显示全部楼层
奇怪我保存之后,D2单元格的数据有效性就没有了。
不过没关系,你先试试主要功能吧,或者自己加一下数据有效性。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-25 16:10 | 显示全部楼层
大灰狼1976 发表于 2017-7-25 15:52
你再试一下,修改D2的值,可以直接在下拉列表选择。

非常感谢老师,我想要的结果是:不改变“产品说明书”原有格式,要同时满足D2和G2的条件。
回复 支持 反对

使用道具 举报

发表于 2017-7-25 16:13 | 显示全部楼层
那超过说明书行数怎么处理。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2017-8-23 08:45 , Processed in 0.078000 second(s), 32 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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