个人觉得专业的事儿还是需要专业的东西才能解决,网上下载东西,可以用python等写脚本就行,何必非得用VBA呢,如果只是为了看下网页的数据,那完全可以用EXCEL内置的POWER QUERY来解决,选择数据-来自网页实时刷新即可。所以专业的事儿还是交给专业的工具来办!祝您生活愉快,工作顺心。
' 下面的代码就可以解决你的问题
dim sta,i%,st$,a$,b$,c$
st = “ax^2+bx+c=0” ' 这里你可以改成从文本框获取方程
sta = split(st,"+")
for i = 0 to ubound(sta)
if instr(sta(i) , "x^2")>0 then
a = trim( left(sta(i),instr(sta(i) , "x^2") -1))
elseif instr(sta(i) , "x")>0 then
b = trim( left(sta(i),instr(sta(i) , "x") -1))
elseif instr(sta(i) , "=")>0 then
c = trim( left(sta(i),instr(sta(i) , "=") -1))
end if
next i
'工程-引用 “Microsoft Shell Controls And Automation”
Private Sub Command1_Click()
Dim oDLG
Dim pth As String
Dim Flname As String
Dim shl As Shell32Shell
Dim shfd As Shell32Folder
Dim s As String
Dim i As Integer
Set oDLG = CreateObject("MSComDlgCommonDialog")
With oDLG
DialogTitle = "打开文件"
Filter = "所有文件|"
MaxFileSize = 255
ShowOpen
If FileName <> "" Then
i = InStrRev(FileName, "\")
If i = 0 Then Exit Sub
Flname = Mid(FileName, i + 1)
Set shl = New Shell
Set shfd = shlNameSpace(Left(FileName, i - 1))
For i = 0 To 39
If shfdGetDetailsOf(0, i) <> "" And shfdGetDetailsOf(shfdItemsItem(Flname), i) <> "" Then
s = s & i & ":" & shfdGetDetailsOf(0, i) & ": " & shfdGetDetailsOf(shfdItemsItem(Flname), i) & Chr(10)
End If
Next i
MsgBox s, vbInformation, "文件属性"
End If
End With
Set oDLG = Nothing
End Sub
我的测试数据:
我的程序代码:
程序执行的效果:
程序代码:
Option Explicit
Sub 宏1()
Dim arr, rlt, i&, j&, k&
'获取数据
arr = Range("a1")CurrentRegion
'统计结果
ReDim rlt(1 To 2, 1 To UBound(arr, 2))
k = 0 '生成结果的列数
For i = 1 To UBound(arr, 2)
If arr(1, i) <> "" Then
For j = 1 To k
If rlt(1, j) = arr(1, i) Then Exit For
Next j
If rlt(1, j) <> arr(1, i) Then '没有汇总过的
k = k + 1
j = k
rlt(1, j) = arr(1, i)
End If
rlt(2, j) = rlt(2, j) + arr(2, i) '累加
End If
Next i
'保存结果
With Range("a4")Resize(2, k)
Value = rlt
Select
End With
End Sub
以上就是关于想用vb写一个查找程序,数据源为Excel文件(100X100),输入行数据和列数据后,二者交叉即为想要获取的值全部的内容,包括:想用vb写一个查找程序,数据源为Excel文件(100X100),输入行数据和列数据后,二者交叉即为想要获取的值、用VB编写程序、vb如何获取文件属性等信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)