数量、单价、金额互算VBA

  [复制链接]
查看: 9718|回复: 26

420

主题

1961

帖子

4303

积分

学士

Rank: 7Rank: 7Rank: 7

积分
4303
发表于 2016-3-1 10:11:17 | 显示全部楼层 |阅读模式
数量、单价、金额互算VBA
将下面的代码复制到快表VBA编辑器中测试。代码下面有对应模板下载

  1. Imports SpreadsheetGear
  2. Imports System.Windows.forms
  3. Namespace ExcelViewVBDotnet
  4.     Public Class StandardInterface '自定义名称
  5.         '预留位置1
  6.         '预留位置2
  7.         Dim AW As SpreadsheetGear.IWorkbook,Range As SpreadsheetGear.IRange
  8.         Dim CF,TS,VW As Object,YN As String
  9.         Public Sub Workbook_Open(OldRoot As Object,NewRoot As Object,Excel As SpreadsheetGear.Windows.Forms.WorkbookView)
  10.            Excel.GetLock()
  11.            AW = Excel.ActiveWorkbook
  12.            Range = AW.ActiveWorksheet.Range
  13.            Excel.ReleaseLock()
  14.            '位置:2保存3新增4提交5退回6打印7预览8导出9捕获10上传图片11上传附件12插入行13插多行14删除行15查找16最后
  15.         End Sub'打开时执行事件

  16.         Public Sub RangeSelection(sender As Object,e As SpreadsheetGear.Windows.Forms.RangeSelectionChangedEventArgs)

  17.         End Sub'单元格选择后执行的事件

  18.         Public Sub RangeChanged(sender As Object,e As SpreadsheetGear.Windows.Forms.RangeChangedEventArgs)
  19.                    if e.Range.Address <> YN Then'避免重复触发
  20.                           if e.Range.Intersect(Range("F_30")) IsNot Nothing then'数量触发金额
  21.                              if e.Range.Offset(0,1).Value IsNot Nothing And e.Range.Value IsNot NotHing then
  22.                                 e.Range.Offset(0,2).Value = CType(e.Range.Offset(0,1).Value,Double) * CType(e.Range.Value,Double)        
  23.                              end if
  24.                       Elseif e.Range.Intersect(Range("F_31")) IsNot Nothing then'单价触发金额
  25.                          if e.Range.Offset(0,-1).Value IsNot Nothing And e.Range.Value IsNot NotHing then
  26.                                     YN = E.Range.Offset(0,1).Address
  27.                                 e.Range.Offset(0,1).Value = CType(e.Range.Offset(0,-1).Value,Double) * CType(e.Range.Value,Double)
  28.                              end if  
  29.                       Elseif e.Range.Intersect(Range("F_32")) IsNot Nothing then'金额触发单价
  30.                          if e.Range.Offset(0,-2).Value IsNot Nothing And e.Range.Value IsNot NotHing then
  31.                                     if CType(e.Range.Offset(0,-2).Value,Double) <> 0 then
  32.                                            YN = E.Range.Offset(0,-1).Address
  33.                                    e.Range.Offset(0,-1).Value = CType(e.Range.Value,Double) / CType(e.Range.Offset(0,-2).Value,Double)
  34.                                 end if
  35.                              end if
  36.                       End if
  37.                    Else
  38.                       YN = ""'还原触发判断
  39.                    End if
  40.         End Sub'单元格编辑完成后执行事件

  41.         Public Sub ButtunClick(sender As Object,e As SpreadsheetGear.Windows.Forms.ShapeActionEventArgs)
  42.    
  43.         End Sub'按钮/标签点击事件

  44.         Public Sub FollowHyperlink(sender As Object)
  45.            
  46.         End Sub '暂不支持

  47.     End Class
  48.     '注:除事件字眼下可以自定义代码外的所有代码不允许改动,否则编译将有可能失败。

  49. End Namespace

复制代码

游客,如果您要查看本帖隐藏内容请回复
QQ:857188287

24

主题

62

帖子

168

积分

举人

Rank: 2

积分
168
发表于 2017-2-16 08:39:14 | 显示全部楼层
厉害,找了好久

1

主题

20

帖子

54

积分

举人

Rank: 2

积分
54
发表于 2017-2-22 14:40:34 | 显示全部楼层
厉害,找了好久

3

主题

24

帖子

52

积分

举人

Rank: 2

积分
52
发表于 2017-4-13 11:15:19 | 显示全部楼层
学习了   好好看看这个内容

20

主题

62

帖子

193

积分

举人

Rank: 2

积分
193
发表于 2017-6-5 21:49:22 | 显示全部楼层
啥玩意,不懂

20

主题

62

帖子

193

积分

举人

Rank: 2

积分
193
发表于 2017-6-5 21:49:43 | 显示全部楼层
啥玩意,不懂

20

主题

62

帖子

193

积分

举人

Rank: 2

积分
193
发表于 2017-6-5 21:50:11 | 显示全部楼层
啥玩意,不懂

2

主题

21

帖子

44

积分

秀才

Rank: 1

积分
44
发表于 2017-9-16 13:46:23 | 显示全部楼层
来学习学习啦!

0

主题

16

帖子

32

积分

秀才

Rank: 1

积分
32
发表于 2017-9-30 12:43:57 | 显示全部楼层
了解下高深的技能

0

主题

1

帖子

2

积分

秀才

Rank: 1

积分
2
发表于 2017-11-13 21:44:16 | 显示全部楼层
怎么搞试试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

热门产品

关于我们

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十年的行业经验.我们的理念是:"快表软件-提高的不只是效率!"

联系我们

  • 地址: 上海市张江浦东软件园13-205室
  • 电话: +86 (0) 21-5161-9370
  • Email: kuaibiao@kuaibiao.cn
客户端

手机微信

© 2001-2020 快表软件    工信部备案号:沪ICP备13033196号    技术支持:快表软件