我想在Excel
中創建一個user-defined
函數,它可以返回當前工作表。我可以使用使用Excel VBA獲取工作表名稱
sheetname = ActiveSheet.Name
但是,這個問題是,它的工作原理,突然它開始得到不同的工作表名稱。例如,它將返回SHEET I HATE YOU
而不是SHEET I LOVE YOU
。
有沒有辦法解決這個問題 - 或者可能,因爲我認爲它不可能是靜態的,但會有所不同?
我想在Excel
中創建一個user-defined
函數,它可以返回當前工作表。我可以使用使用Excel VBA獲取工作表名稱
sheetname = ActiveSheet.Name
但是,這個問題是,它的工作原理,突然它開始得到不同的工作表名稱。例如,它將返回SHEET I HATE YOU
而不是SHEET I LOVE YOU
。
有沒有辦法解決這個問題 - 或者可能,因爲我認爲它不可能是靜態的,但會有所不同?
Function MySheet()
MySheet = Application.Caller.Worksheet.Name
End Function
這應該是你正在尋找
功能可以使用下面的代碼來獲取活動工作表的名稱,並更改爲首選名稱你的。
Sub ChangeSheetName()
Dim shName As String
Dim currentName As String
currentName = ActiveSheet.Name
shName = InputBox("What name you want to give for your sheet")
ThisWorkbook.Sheets(currentName).Name = shName
End Sub
Sub FnGetSheetsName()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
For i = 1 To mainworkBook.Sheets.Count
'Either we can put all names in an array , here we are printing all the names in Sheet 2
mainworkBook.Sheets("Sheet2").Range("A" & i) = mainworkBook.Sheets(i).Name
Next i
End Sub
這對我的作品。
worksheetName = ActiveSheet.Name
非常感謝 - 它的偉大工程 - 非常感謝 - 它幫助了我很多做VLOOKUP – user2103670
當它是一個很好的藉口,我要學會與VBA :) – mucio
需要揮發 –