求助VBA高手
求助vba 高手
其实本来改一句就可以的,不过发现有几个小毛病,就一并改了给你发上来
Function action()
On Error Resume Next '遇错跳转,继续往下执行
Dim xlApp, xlBook, oExcelFile
oExcelFile = "D:\opc1.XLS" '全部代码只需改变文件的路径就可以,其他不用作任何改动
Dim isXlsOpen
isXlsOpen = False
Set xlApp = GetObject(, "Excel.Application") '获取EXCEL进程
If TypeName(xlApp) <> "Application" Then '检测到有Excel进程已经打开
Set xlApp = CreateObject("Excel.Application")
End If
xlBookFind = False
For Each oBook In xlApp.Workbooks '循环检查Excel进程打开的Workbooks
If LCase(oBook.FullName) = LCase(oExcelFile) Then '如果路径与所检查的文件一致
Set xlBook = oBook
xlBookFind = True
xlBook.Activate
Exit Function
End If
Next
If xlBookFind = False Then '#如果没有找到
xlApp.Visible = True '要打开的文件是否显示或是在后台运行
Set xlBook = xlApp.Workbooks.Open(oExcelFile)
End If
End Function
很高兴能够帮助到你,如果回答解决了你的问题的话,请"采纳"我的答案,谢谢!
求助EXCEL VBA 的高手们!!
VBA有高手写好了,不用VBA的方法说一个:
打开任意一个Excel文件,工具----选项----常规 页面,里面有一条“启动时打开此目录中的所有文件”,输入你要打开的这个文件夹的目录。保存并退出所有Excel。再重启Excel就能打开所有你想打开的Excel了。
(处理完了之后,最好把选项中的此目录清掉,否则每次开启Excel都会打开全部的这些Excel文档。当然,如果楼主每次都要进行这样的操作,就一直保留即可。)
Excel VBA 数据比较求助高手
你的数据应该是从别的地方倒过来的吧?直接用excel公式=A6=A11是true,但是你在VBE的立即窗口(ctrl+g)里输入:
print Range("A11")- Range("A6")
会显示
2.8421709430404E-14
也就是说A11比A6大那么一点点点点,估计是导入的数据在exce里l的浮点运算误差造成的。
原来的帖子我也看到了,强制类型以后精度变了,后面的位数被舍掉了,就相等了,对于不需要太精确的运算来说确实可以这样。
求教vba高手!!
分太少了,不可能每个题都给你写,写几个
Sub 第1题()
Dim n%, x%
n = Application.InputBox("请输入N值:", , , , , , , 1)
If n = False Then Exit Sub
For x = 1 To n
If x Mod 2 = 1 Then
sum = sum + 1 / x
Else
sum = sum - 1 / x
End If
Next
Cells(2, 1) = sum
End Sub
Sub 第4题()
For x = 1 To 5
Cells(1, x) = Int(Rnd * 101)
Next
For Each Rng In Range("A1:E1")
If Rng.Value Mod 5 = 0 Then
sum = sum + Rng.Value
Rng.Interior.ColorIndex = 3
End If
Next
MsgBox "随机数是5的倍数的和为:" & sum
End Sub
Sub 第5题()
Dim x, y, z
For x = 1 To 125
For y = 1 To 166
If x = 4 And y = 148 Then Stop
For z = 3 To 200 - x - y Step 3
If x * 8 + y * 6 + z / 3 * 5 = 1000 And x + y + z = 200 Then
Debug.Print x; y; z
End If
Next z, y, x
End Sub
Sub 第6题()
Dim x
For x = 100 To 8000
If x Mod 24 = 0 Then
n = n + 1
Cells(n, 1) = x
End If
Next
End Sub