想用vb写一个查找程序,数据源为Excel文件(100X100),输入行数据和列数据后,二者交叉即为想要获取的值

想用vb写一个查找程序,数据源为Excel文件(100X100),输入行数据和列数据后,二者交叉即为想要获取的值,第1张

个人觉得专业的事儿还是需要专业的东西才能解决,网上下载东西,可以用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如何获取文件属性等信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10149079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存