【发布时间】:2014-04-12 07:54:26
【问题描述】:
我有以下代码:
Option Explicit
Randomize
Dim a, song, album
a = Int((Rnd*195)+1)
song = "B" & a
album = "A" & a
Dim objApp, objWbs, objWorkbook, objSheet
Set objApp = CreateObject("Excel.Application")
Set objWbs = objApp.WorkBooks
objApp.Visible = False
Set objWorkbook = objWbs.Open("C:\Users\Name\Documents\Music.xlsx")
Set objSheet = objWorkbook.Sheets("Sheet1")
song = objSheet.Range(song).Value
album = objSheet.Range(album).Value
objWorkbook.Close False
objWbs.Close
objApp.Quit
Set objSheet = Nothing
Set objWorkbook = Nothing
Set objWbs = Nothing
Set objApp = Nothing
MsgBox("Album name: " & album & vbNewLine & "Song name: " & song)
它从 Excel 工作表“音乐”的第 1 行和第 195 行之间打印两个随机单元格。其中一个 - A 列中的一个 - 代表专辑,另一个代表歌曲。问题是返回结果需要相当长的时间,大约 20 秒。
我想知道是否有更有效的方法可以让我更快地获得结果。
【问题讨论】: