以EXCEL VBA 執行插入列

各位大大,
1.請問我要複製第3列,往上插入第2及第3列之間
錄製巨集如下,但是我希望不會影響格式化條件編排(避免占用資料空間)
格式化條件的編排最多只是$I$2:$I$21...$I$22...$I$23往下延伸,而格式化條件編排初始的$I$2不應該因為複製插入被改變,請問我該如何做呢?
我知道這目的可以透過EXCEL的 選擇性貼上-> 所有合併中條件化格式(G)達到,但是我不知道VBA該怎麼寫??

2.另外VBA出現問題,單純執行巨集是沒問題的,一次或兩次以上都可以。但是如果我執行巨集後,將第3列新插入的數值作編修,再執行巨集的話,會出現執行階段錯誤 '-2147417848 (80010108)',請問是哪裡有問題呢??

有大大可以協助幫忙嗎? 感恩!!
檔案在這 https://1drv.ms/u/s!AoUG0KB0LFBXgocjhVgsYSswQh9dEw


自己編的碼------------------------------------
Sub InsertRow()
'
' InsertRow 巨集
'
Rows("3:3").Select
Selection.Copy
Selection.Insert Shift:=xlDown
Range("C3").Select
End Sub
-------------------------------------------------


應該要這樣
以EXCEL VBA 執行插入列

插入列後變這樣
以EXCEL VBA 執行插入列

我希望是這樣,並隨插入列後,$I$2:$I$21...$I$22...$I$23往下延續下去
以EXCEL VBA 執行插入列

選擇性貼上-> 所有合併中條件化格式(G)
以EXCEL VBA 執行插入列


-------------------------------------------------
編修後再啟動插入列 出現 執行階段錯誤 '-2147417848 (80010108)'
以EXCEL VBA 執行插入列
2017-01-14 10:34 發佈
文章關鍵字 Excel VBA
根據您的說明,這樣測試應該沒錯吧
一、sheet1 ,按下按鍵,插入一列,改第3列數值,再按一次,插入一列(sheet2 相同方式)
二、sheet1 ,改第3列數值、按下按鍵插入一列,再按一次插入一列(sheet2 相同方式)

用您的檔案試,沒遇到您說的問題
(測試前,只有先把您sheet2有問題的第3列先刪掉,其它沒動)
snare大大您好,
1.關於設定格式化條件部分,I攔可以透過VBA解決嗎?


2.關於執行階段錯誤 '-2147417848 (80010108)'有時會出現,有時又不會,但如果我頻繁修正第3列,再執行巨集,就會出現錯誤
各位大大,
原來,只要依上面的方法再錄製一次巨集就可以解決格式化條件的問題了

---------------------------------------------------------------------
Sub InsertRow()
'
' InsertRow 巨集
'
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows("4:4").Select
Selection.Copy
Rows("3:3").Select
Selection.PasteSpecial Paste:=xlPasteAllMergingConditionalFormats, Operation _
:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C3").Select
End Sub
---------------------------------------------------------------------
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?