【发布时间】:2013-08-26 14:29:48
【问题描述】:
我正在使用一个子过程将文件路径/工作簿和工作表存储在公共变量中,然后模块中的其他子过程可以访问这些变量。下面是一些示例代码:
Public myfp As String
Public mywb As Workbook
Public myws As Worksheet
Sub FilePaths()
myfp = Application.GetOpenFileName(Title:="Please select the file.")
Set mywb = Workbooks.Open(myfp, 0)
If Left(mywb.Sheets(1).Name, 2) = "01" Then
Set myws = mywb.Sheets(1)
Else
Set myws = mywb.Sheets(2)
End If
mywb.Saved = True
mywb.Close
Exit Sub
Sub Stuff()
Dim wb As WorkBook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws = wb.Sheets(1)
ws.Range("A1").Value = wb.ws.Range("A1").Value
End Sub
所以我的第一个子确定我需要哪个表,我的第二个子应该将此表单元格的值放入我的表中。但是我得到的只是错误。我想这可能是因为我必须打开文件,所以我尝试了一些我知道应该可行的方法:
SUb Stuff()
Range("A1").Formula = "='[" & myfp & "]" & myws & "'!A1"
End Sub
但是这也不起作用。我做错了什么?
【问题讨论】:
标签: variables excel public vba