文章開頭,先吐槽一下,Excel這個行業(yè),徹底廢了。最近2個月全行業(yè)的公眾號,文章閱讀量都爆減,不是一兩個人,而是全行業(yè)。越?jīng)]人看,越?jīng)]動力更新好文章,越?jīng)]人看,惡性循環(huán)。時代拋棄你,有時并不是你不努力,而是風(fēng)吹向其他地方,現(xiàn)在是短視頻時代了。刷視頻的手停不下來,看文章的手點不進去。 文章標(biāo)題:手廢了,做個表復(fù)制粘貼3000次,只因不會For Next循環(huán)語句,1分鐘我卻搞半天VIP學(xué)員的問題,左邊是從系統(tǒng)導(dǎo)出來的,現(xiàn)在希望每個房間都增加一行標(biāo)題。原始數(shù)據(jù)有幾千行,除了用復(fù)制,粘貼標(biāo)題行,重復(fù)無數(shù)次之外,有沒更快捷的方法?重復(fù)一個動作幾千次,手估計要廢了。其實,在Excel里面有一個循環(huán)語句,可以代替手工操作,只要告訴她重復(fù)多少次即可。 先跟盧子一起來完成第一次操作,復(fù)制標(biāo)題,插入到小計下一行。這個操作是需要記錄下來,專業(yè)點叫錄制宏。點開發(fā)工具,錄制宏,復(fù)制第1行,選擇第4行,右鍵,插入復(fù)制的單元格,停止錄制。 點開發(fā)工具,VB,模塊1,就可以看到剛剛錄制的宏。
直接錄制的代碼,其實可以進行簡化。
Rows("1:1").Select Selection.Copy
可以簡化成Rows("1:1").Copy,也就是復(fù)制第1行。 Rows("4:4").Select Range("B4").Activate Selection.Insert Shift:=xlDown
可以簡化成Range("A4").Insert Shift:=xlDown,也就是在A4插入剛剛復(fù)制的標(biāo)題。 重點來了Range("A4")這個是變動的,需要判斷上一行有小計2字,就在下一行插入標(biāo)題。也就是需要進行一次判斷,在VBA里面也有IF。
If Range("A" & I) = "小計" Then Range("A" & I + 1).Insert Shift:=xlDown I這里是變量,從1到17,這里就需要循環(huán)語句For Next,有一個注意點因為插入標(biāo)題后,行數(shù)會改變,必須先從17行開始到1行往上判斷,步長為-1。最終代碼出來了。If Range("A" & i) = "小計" Then Range("A" & i + 1).Insert Shift:=xlDown 錄制宏得到的是傻瓜式的代碼,從中獲取關(guān)鍵的代碼,再修改才能得到智能的代碼。
|