簡體   English   中英

如何將引用的工作表更改為變量? 我想讓它激活

[英]How do I change the worksheet referenced to be a variable? I want it to activate

我編寫的宏 - 它從兩個不同的電子表格中提取信息並將其全部格式化。 這些電子表格每個月都會更改。 如何獲取“激活”命令來引用我打開的工作表,而不是在我錄制此宏時打開的工作表? 其中一個命令如下所示:

Windows("273517_0273517M190831_08_31_2019_Toll Detail.csv").Activate

我試圖復制並粘貼幾行代碼,但這個網站拒絕了它,說它的格式不正確。 因為它是一個功能齊全的宏的精確副本——我不知道它想要什么。

第 4 行中的“...Toll Detail.csv”文件需要成為一個變量,因為它每月都會發生變化。 這個文件在我錄制的宏中被多次引用。 我需要能夠輸入 go 並以您建議的任何方式更改它們。 我對 VBA 完全陌生,所以請盡可能地把它啞巴。 :) 謝謝!

我建議在 sub 的開頭聲明一個變量,如下所示:

Dim strFile As String
strFile = "273517_0273517M190831_08_31_2019_Toll Detail.csv"

在整個 sub 中,您可以引用該變量,因此在代碼中存在工作簿名稱的每個實例中,將其替換為strFile ,如下所示:

Windows(strFile).Activate

這樣,您只需為整個過程更新一次。 可能會有更優雅的解決方案,但需要更多關於用例的信息。

您可以使用 GetOpenFileName 到 select 並每次打開您的文件。 以下是供您參考的代碼:

Sub OpenFile()
Dim myFile As String
Dim Wb As Workbook

myFile = Application.GetOpenFilename("CSV Files (*.csv), *.csv")

'Exit if no file selected
If myFile = "False" Then
    MsgBox "No file selected!"
    Exit Sub
End If

'Open the file
Set Wb = Workbooks.Open(myFile)
'Do what you want with the file here onward
'
'
'
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM