EXCEL里的一段VBA代码,我想用VB封装成DLL再调用,但是语言有差别,求大神帮修改一下!谢谢! 10

PrivateSubCommandButton1_Click()DimBRR(),CRR(),DRR(),ERR()Z=Sheets("检测情况信息").Cells(65... Private Sub CommandButton1_Click()
Dim BRR(), CRR(), DRR(), ERR()
Z = Sheets("检测情况信息").Cells(65536, 6).End(xlUp).Row
y = Sheets("辅助用表").Cells(65536, 6).End(xlUp).Row
If y >= 7 Then Sheets("辅助用表").Range("A7:S" & y).ClearContents
arr = Sheets("检测情况信息").Range("A7:S" & Z)
Sheets("成绩统计表").Range("A6:X28").ClearContents
Select Case ComboBox2.Value
Case Is = "一年级语文"
P = "一"
V = 11
U = "语文"
Case Else
MsgBox "统计条件填写有误,请查实!": Exit Sub
End Select
For i = 1 To UBound(arr)
If arr(i, 2) = ComboBox1.Value And arr(i, 4) = P Then
k = k + 1
End If
Next
If k = 0 Then MsgBox "统计条件填写有误,请查实!": Exit Sub
ReDim BRR(1 To k, 1 To 19)
For R = 1 To UBound(BRR)
If R = UBound(BRR) Then GoTo 100:
Next
100:
ReDim CRR(1 To rs, 1 To 24)
For s = 2 To UBound(BRR)
If BRR(s + 1, 3) <> BRR(s, 3) Or BRR(s + 1, 5) <> BRR(s, 5) Then
CRR(ss, 1) = ss
CRR(ss, 2) = BRR(s, 3)
CRR(ss, 7) = BRR(s, V)
For b = 1 To ss
c = 0
CRR(b, 5) = c
CRR(b, 9) = zf / c
CRR(b, 17) = (ass / c) * 100
CRR(b, 23) = CRR(b, 9) + (100 - CRR(b, 16)) + CRR(b, 12) - csrs
czhi = zzf / t
Sheets("成绩统计表").Range("C3") = ComboBox1.Value
Sheets("成绩统计表").Range("H3") = P & "年级"
Sheets("成绩统计表").Range("K3") = U
ReDim DRR(1 To 23, 1 To 24)

ReDim ERR(1 To UBound(CRR) - 23, 1 To 24)
For fsz = 1 To UBound(CRR)
If fsz < 24 Then
For fszx = 1 To 24
DRR(fsz, fszx) = CRR(fsz, fszx)
If fsz >= 24 Then
erszy = erszy + 1
For fszd = 1 To 24
ERR(erszy, fszd) = CRR(fsz, fszd)
Sheets("成绩统计表").Range("A6:X28") = DRR
Sheets("成绩统计表").Range("A34:X" & UBound(CRR) + 10) = ERR
Unload 统计条件
End Sub
上面那段有点多 ,修改这一段吧
X = Sheet1.Cells(65536, 6).End(xlUp).Row
arr = Sheet1.Range("B7:R" & X)
BRR = Range("B7:K65536")
Range("A7:X65536").ClearContents
For i = 1 to Ubound(ARR)
If arr(i, 3) = "六" Then k = k + 1:BRR(k, 10) = arr(i, 17)
Next
Sheet2.Range("B7:K" & k + 6) = BRR
统计条件.Show 0
展开
 我来答
百度网友72d563a
2014-10-03 · TA获得超过252个赞
知道小有建树答主
回答量:242
采纳率:0%
帮助的人:314万
展开全部
你真当大神无敌
没有说明代码功能,还被删去4/5左右的代码
4/5啊......

就是一个工作表的计算循环
这个代码有必要封装么??
追问
代码功能说不说都不要紧额      封装了可以提高运算速度啊   我只需要表示方法  比如说工作表  工作薄  单元格   变量定义   数组转换   窗体应用   这些··············
追答
先在vb工程里引用office和excel对象,一般引用12.0的版本
Dim ExlApp As Excel.Application
Set ExlApp = GetObject(,"Excel.Application")
然后用这个ExlApp来获取工作簿,后面的就跟在Excel的VBE里开发一样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式