自動合併應該只能用VBA來解決了,工作表自帶事件也無法檢測到單元格合併。我嘗試了下,Worksheet_Change和Worksheet_SelectionChange也不行!
而且我特意從下到上選中兩個單元格,比如我從下到上選中A2和A1,再合併,也不觸發SelectionChange事件。原因是,這個操作改變的是ActiveCell,而不是Selection。
於是只好自己寫一個同時合併的方法:
因為不確定題主要合併的行數和所在的列,所以把這些作為可以手動設定的部分。而且在程式碼執行過程中,把合併單元格的彈窗暫時遮蔽了,又減少了一步操作。
這段程式碼實現的操作是,選中單元格所在行的A列以及F向下合併。這裡說的是所在行,也就是說想合併A1:A2的時候你甚至不用選中A1,只要保證選中第一行的單元格就可以了。當然,缺點就是隻能同時合併兩列,想擴充套件到更多列的話需要複製貼上程式碼。雖然有更優雅的做法,但是這次差不多就這樣吧~
宏的呼叫也可以更精簡一些,比如放到自定義功能區,像這樣:
這就是另一個問題了,可以自己琢磨琢磨~
自動合併應該只能用VBA來解決了,工作表自帶事件也無法檢測到單元格合併。我嘗試了下,Worksheet_Change和Worksheet_SelectionChange也不行!
而且我特意從下到上選中兩個單元格,比如我從下到上選中A2和A1,再合併,也不觸發SelectionChange事件。原因是,這個操作改變的是ActiveCell,而不是Selection。
於是只好自己寫一個同時合併的方法:
因為不確定題主要合併的行數和所在的列,所以把這些作為可以手動設定的部分。而且在程式碼執行過程中,把合併單元格的彈窗暫時遮蔽了,又減少了一步操作。
這段程式碼實現的操作是,選中單元格所在行的A列以及F向下合併。這裡說的是所在行,也就是說想合併A1:A2的時候你甚至不用選中A1,只要保證選中第一行的單元格就可以了。當然,缺點就是隻能同時合併兩列,想擴充套件到更多列的話需要複製貼上程式碼。雖然有更優雅的做法,但是這次差不多就這樣吧~
宏的呼叫也可以更精簡一些,比如放到自定義功能區,像這樣:
這就是另一個問題了,可以自己琢磨琢磨~