楼主 wise |
Q:如何在VSTO中定义并使用工作表函数WorksheetFunction? A:首先定义一个工作表函数,然后判断该定义值是否为空,而不为空则调用工作表函数。 其代码如下
|
2楼 fsydw |
老师你好! 下面是段VBA代码: Private Sub Button1_Click() Dim FistRow As Integer '字典用的数组,在工作表中、第一行的行号。 Dim EndRow As Integer '字典用的数组,在工作表中、最后一行的行号。 Dim XSheet As String '工作表名称 Dim Arr, Brr '数组 Dim Dic As Object, k As Integer, Item XSheet = "流水帐" With Sheets(XSheet) Arr = .Range("a1:d100") '把工作表《流水帐》的部分单元格区域数据,赋值给数组Arr Dic = CreateObject("Scripting.Dictionary") For k = 1 To UBound(Arr) If IsNumeric(ArrDic(k, 3)) And ArrDic(k, 3) > 0 Then '判断Arr(k, 3)是数值且大于零 If Not Dic.Exists(ArrDic(k, 1) & "_" & ArrDic(k, 2)) Then Dic(ArrDic(k, 1) & "_" & ArrDic(k, 2)) = Dic(ArrDic(k, 1) & "_" & ArrDic(k, 2)) + ArrDic(k, 3) End If End If Next k '=========下面将字典内容写入数组 ReDim Brr(1 To Dic.Count, 1 To 3) k = 0 For Each Item In Dic.Keys k = k + 1 BrrDwxhl(k, 1) = Split(Item, "_")(0) BrrDwxhl(k, 2) = Split(Item, "_")(1) BrrDwxhl(k, 3) = Application.Index(Dic(Item), 1) ' Next End Sub 问题是:将这段VBA代码移植到VSTO中,倒数第3行的INDEX,如何更改? 程序提示错误信息是:“INDEX”不是“SYSTEM.WINDOWS.FORMS.APPLICATION”的成员。 多谢**! |
3楼 纵鹤擒龙水中月 |
谢谢分享 |