![](/img/trans.png)
[英]Python/Openpyxl: change cell A1 in all excel worksheets within a workbook to equal the name of the worksheet tab
[英]Automatically open an excel file to cell A1 in all worksheets (using VBA)
我正在嘗試編寫VBA代碼,這樣每當我打開excel中的任何文件時,它會自動轉到所有工作表中的Cell A1(無論上次保存時選擇了哪些單元格)。 我在網上發現了一些建議在我的Personal .xlsb項目中添加以下代碼:
Sub kTest()
Dim i As Long, s() As String, a As String, n As Long
With ActiveWorkbook
For i = 1 To .Worksheets.Count
a = a & .Worksheets(i).Name
n = n + 1
ReDim Preserve s(1 To n)
s(n) = .Worksheets(i).Name
If Len(a) > 224 Then
.Worksheets(s).Select
.Worksheets(s(1)).Activate
[a1].Select
n = 0: a = "": Erase s
End If
Next
If Len(a) Then
.Worksheets(s).Select
.Worksheets(s(1)).Activate
[a1].Select
End If
Application.Goto .Worksheets(1).Range("a1")
End With
End Sub
但是當我打開文件時沒有任何反應。 請幫忙!
你不能在每張表中轉到Cell A1。 但是,如果您想要單張表格的單元格A1,您可以執行以下操作。
使用以下代碼創建一個ExcelEvents類
Option Explicit
Private WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
App.Goto Wb.Worksheets(1).Range("A1")
End Sub
Private Sub Class_Initialize()
Set App = Application
End Sub
並在ThisWorkbook中添加
Option Explicit
Private xlApp As ExcelEvents
Private Sub Workbook_Open()
Set xlApp = New ExcelEvents
End Sub
保存工作簿,重新打開它,workbook_open事件中的代碼將運行,這意味着一旦打開另一個工作簿,代碼將轉到工作表1的單元格A1
編輯如果您真的想在每張表中選擇A1,您可以按如下方式更改代碼
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
Dim sh As Worksheet
App.ScreenUpdating = False
For Each sh In Wb.Worksheets
sh.Select
sh.Range("A1").Select
Next
App.Goto Wb.Worksheets(1).Range("A1")
App.ScreenUpdating = True
End Sub
簡單的解決方案:
For Each Sheet In ActiveWorkbook.Worksheets
Sheet.Select
Range("A1").Select
Next
在工作表中使用MicScoPau循環將以下代碼放在Personal.xlsb的ThisWorkbook模塊中:您必須重新打開excel才能使其首次運行。 如果您的Personal.xlsb被隱藏,那么您將在activeworkbook中的每個工作表中遇到一些問題。
Private WithEvents app As Application
Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
For Each Sheet In ActiveWorkbook.Worksheets
Sheet.Select
Range("A1").Select
Next
End Sub
Private Sub Workbook_Open()
Set app = Application
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.