之前介紹過快速合并相同單元格的實(shí)例,傳送門在這里:
Excel vba 實(shí)例(5) - 快速合并n多個(gè)相同值的單元格
前幾天后臺(tái)有伙伴提出,能不能來個(gè)逆的操作,拆分合并的單元格并填充。
還是之前的那個(gè)圖如下,ABCDE組已經(jīng)合并好了。
現(xiàn)在的要求就是拆分合并的這幾組,然后要把組名對(duì)應(yīng)的填充進(jìn)去。
同樣也不難,把代碼放上來
Sub?ubMergeRange()
????Dim?Rng?As?Range
????Dim?i&,?Col&,?Fist,?Last
????Set?Rng?=?Application.InputBox("請(qǐng)選擇單列數(shù)據(jù)列!",?Type:=8)
????'用戶選擇數(shù)據(jù)列
????Set?Rng?=?Intersect(Rng.Parent.UsedRange,?Rng)
????'intersect語(yǔ)句避免用戶選擇整列造成無謂運(yùn)算
????On?Error?Resume?Next
????Rng.Parent.Select?'激活Rng對(duì)象所在的工作表,避免跨工作表操作問題
????Rng.UnMerge
????Rng.SpecialCells(xlCellTypeBlanks)?=?"="?&?Rng.SpecialCells(xlCellTypeBlanks)(1,?1).Offset(-1).Address(0,?0)
????Rng.Copy:?Rng.PasteSpecial?xlPasteValuesAndNumberFormats
????Application.CutCopyMode?=?False
????Rng.VerticalAlignment?=?xlCenter?'格式上下居中
????Application.ScreenUpdating?=?True
????Application.DisplayAlerts?=?True
????MsgBox?"拆分填充完成。"
End?Sub
效果如下:
同樣的,永恒君把上面實(shí)例VBA的文件分享出來,需要的就直接使用吧。
wx公號(hào)后臺(tái)回復(fù)拆分填充即可。
不少人對(duì)VBA代碼有抵觸心理,其實(shí)沒有那么復(fù)雜,把他看成一個(gè)稍微復(fù)雜點(diǎn)的函數(shù)即可。
當(dāng)然如果并不打算深入學(xué)習(xí)VBA,只是臨時(shí)使用下,那只要會(huì)復(fù)制黏貼就好了!
至于怎么用VBA代碼,可以參考之前的文章:
Excel vba 實(shí)例(1) - 批量制作工資表頭
Excel vba 實(shí)例(2) - 批量將工作表拆分為單獨(dú)文件
Excel vba 實(shí)例(3) -?多個(gè)工作簿批量合并
Excel vba 實(shí)例(4) - 根據(jù)已有名稱,批量新建表格
Excel vba 實(shí)例(5) - 快速合并n多個(gè)相同值的單元格
Excel vba 實(shí)例(6) - 一鍵匯總多個(gè)sheet數(shù)據(jù)到總表
Excel vba 實(shí)例(7)-一鍵批量打印工作簿
Excel vba 實(shí)例(8)- 利用正則表達(dá)式進(jìn)行定向提取
Excel vba 實(shí)例(9)- 批量插入、刪除表格中的空行
Excel vba 實(shí)例(10)- 統(tǒng)計(jì)同一列中出現(xiàn)次數(shù)并標(biāo)注
Excel VBA功能很強(qiáng)大,但是要熟練的運(yùn)用起來還是有一定的難度,好在永恒君幫大家搜集了幾套關(guān)于VBA的視頻教程,非常的實(shí)用。
需要的話,wx公號(hào)后臺(tái)回復(fù)“VBA”獲取吧~~
歡迎交流!