我有一張365頁的excel工作簿,每天一張。 員工在相應的選項卡上添加當天的信息並保存並關閉它。我怎樣才能每天參考不同的Excel表格?
我想創建一個名爲當天新的工作表將顯示最近編輯的表。
的紙張通過日期命名所以它可能只是稱之爲「2017年9月11日」或者可以致電最近編輯的表。
什麼是處理的最佳方式?
我有一張365頁的excel工作簿,每天一張。 員工在相應的選項卡上添加當天的信息並保存並關閉它。我怎樣才能每天參考不同的Excel表格?
我想創建一個名爲當天新的工作表將顯示最近編輯的表。
的紙張通過日期命名所以它可能只是稱之爲「2017年9月11日」或者可以致電最近編輯的表。
什麼是處理的最佳方式?
我認爲這將是相當簡單的創建,將open an excel電子表格到一個特定的基於紙的紙標籤和系統當天在C#可執行文件。
困難的部分是手寫365表名稱。我想你可以用名字寫出表格,然後用類似的算法讀取它。
C#與此有什麼關係?處理工作簿中的Workbook_Open * *和激活正確的工作表更爲直接。涉及其他任何東西都是過分的。 –
不確定要完全理解您的問題,但也許您可以考慮在工作簿文件的「ThisWorkbook」VBA模塊的「Workbook_SheetChange」事件中編寫代碼,以便您可以跟蹤用戶的操作。示例代碼:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Debug.Print Sh.Name & " - "; Target.Address & " - "; Target.Value
End Sub
這是,如果你需要跟蹤用戶的行爲,即最後編輯的表:表名稱可以存儲在一個全局變量,引發此事件每次覆蓋。 使用另一個工作簿時,您可以通過地方寫它存儲的最新表名稱(在「日誌」工作表,或onother工作簿)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'...
End Sub
也許這是不是100%可靠的代碼,但它可能工作。
關於。
Sub CD()
yest = Day(Date) - 1
m = Month(Date)
y = Year(Date)
sheetname = m & "." & yest & "." & y
Range("A1").Value = Worksheets(sheetname).Range("A1")
Range("A3").Value = Worksheets(sheetname).Range("A3")
Range("B3").Value = Worksheets(sheetname).Range("B3")
Range("C3").Value = Worksheets(sheetname).Range("C3")
Range("D3").Value = Worksheets(sheetname).Range("D3")
Range("E3").Value = Worksheets(sheetname).Range("E3")
Range("F3").Value = Worksheets(sheetname).Range("F3")
Range("G3").Value = Worksheets(sheetname).Range("G3")
Range("H3").Value = Worksheets(sheetname).Range("H3")
Range("I3").Value = Worksheets(sheetname).Range("I3")
Range("J3").Value = Worksheets(sheetname).Range("J3")
End Sub
你所說的「顯示最近編輯單」是什麼意思? – theGleep
保存Excel工作簿時,它會記住活動工作簿的內容......所以目前尚不清楚爲什麼您甚至需要做任何事情來實現這一點。即使你這樣做了,激活今天的工作表也不一定是*最後編輯的工作表*。你的問題還不清楚,背後的動機也不清楚。 –
工作表顯示在Confluence的非服務器實例上,無論如何顯示excel文件的第一個工作表。 如果我可以使第一張表單反映當前日期表或最近編輯過的表單,這將工作得最好。 – astanix