iT邦幫忙

0

VBA 如何在多個工作表 同時把公式向下填充

試了又試解決不了,誠請大大們幫幫忙

小妹在xlsm檔的a1~a6工作表放了不同的陣列公式運算,只有格式跟位置相同
寫了VBA,想讓數百個不同列數的xls資料,套到這個檔案後轉出,
前後都順利跑好了,就中間這段,資料有順利貼上到每個工作表
但陣列公式無法在每個工作表順利向下填充..........

Sub aa()
    Workbooks(3).Activate '當前運作xlsm檔
    Sheets(Array("a1", "a2", "a3", "a4", "a5", "a6")).Select '選擇所有工作表
    Sheets("a4").Activate '到其一工作表
    Range("A2").Select '選擇資料要貼上的首格
    ActiveSheet.Paste '資料貼上
    Application.CutCopyMode = False '釋放剪貼簿
    Dim lr As Long 
    lr = Cells(Rows.Count, "E").End(xlUp).Row 
    Range("F25:R25").AutoFill Destination:=Range("F25:R" & lr), Type:=xlFillCopy '向下填充到資料最後一列
    '到這邊,a1~a6有順利貼到同樣的一筆1000列的資料,但只有a4工作表公式有向下填充
    
    '如果加入以下部分,公式有順利填充,但會把其他工作表的公式取代掉.......
    ActiveCell.Range("F25:R" & lr).Select '選擇a4裡填充好的部分
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll '填充到其他工作表
End Sub

不知道該怎麼辦,拜過GOOGLE大神實在解決不了

看更多先前的討論...收起先前的討論...
echochio iT邦高手 1 級 ‧ 2020-10-10 07:31:19 檢舉
原本我都用 VBA 來做,後來都改用 Python , 發現簡單多了...
akissiva iT邦新手 5 級 ‧ 2020-10-12 09:32:46 檢舉
前兩禮拜才開始學VBA,python還沒學過@@
c# + epplus也很直觀

myExcel .Worksheets[0].Cells[1,1]. Value = 100;

VBA我不愛用,效能差又受限一大堆,語法也少的可憐
skyksl066 iT邦新手 5 級 ‧ 2020-10-14 07:48:43 檢舉
看到email 來看一下還無解啊,哈哈哈
akissiva iT邦新手 5 級 ‧ 2020-10-16 23:43:20 檢舉
發問隔天有想到一個解法:到每個工作表套用一次
Sheets("a1").Activate
Range("F25:R25").AutoFill Destination:=Range("F25:R" & lr), Type:=xlFillCopy
Sheets("a2").Activate
Range("F25:R25").AutoFill Destination:=Range("F25:R" & lr), Type:=xlFillCopy
....
雖然比較呆,至少能用

尚未有邦友回答

立即登入回答