返回列表 上一主題 發帖

[發問] 如何用VBA讓公式複制到工作表有資料的最後一列

[發問] 如何用VBA讓公式複制到工作表有資料的最後一列

想請問二種VBA寫法:
1.
A至C欄有公式
目前資料至第11列,資料會不斷增加
如何用VBA讓A~C欄自動把公式複制到工作表有資料的最後一列?

2.
E欄為等差數列
同1所述,如何讓數列自動複制到有資料的最後一列?

讓資料自動複制到有資料的最後一列?.rar (16.47 KB)

回復 2# iamaraymond
數列的部份,不管那個數字是什麼,就從空白的上一個數字持續+1即可

例如:
現在的例子,有資料的部份到第11列,就針對A至C欄,自動偵測沒公式的地方開始複第到第11列,等蒫數列亦相同.

TOP

回復 4# iamaraymond

首先感謝您幫忙寫這個程式
我在程式中加入一些其他功能,然後把程式與要執行自動複制公式的檔分開,也改了檔名(自動複制.xlsx,不過應該沒影響),測試了10多次一直出現問題(但不是您的程式問題),最終發現在檔案自動開啟時,執行程式沒問題,但若是檔案先打開了,就無法執行自動填寫公式,這樣又試了幾次仍然找不出原因,懇請幫忙看下問題出在哪?

另外我把填數列的功能暫停,也請教您,若是填數列的功能,想改為從1:1的下一列(也就是標題列的下一列)開始,自動從1填到有資料(以G欄為準)的最後一列,該如何修改?

出貨文件連結.rar (32.96 KB)

TOP

回復 6# iamaraymond

當執行VBA指令裡的程式時
1.若此時"自動複製"關著,則可以執行往下自動填滿...Yes
2.若此時"自動複製"開著,就沒有動作...Yes (事先開啟,未透過VBA打開時)
所以您希望當"自動複製"開著時,也可以往下自動填滿? ...YES (我希望無論事先已開啟or經由VBA開啟,一按VBA執行鈕,它就能執行"自動複制公式"的功能

您的第二個問題是希望"自動複製"的E2=1,E3=2,一直到目前最後一列E11嗎?...YES
  1.     For Each Wb In Workbooks
  2.         If UCase(Wb.Name) = UCase("自動複制.xlsx") Then
  3.             Msg = True  '檔案已開啟
  4.             Exit For
  5.         End If
  6.     Next
  7.     '*****************************************
  8.     If Msg = True Then '檔案已開啟
  9.         Set Wb = Workbooks("自動複制.xlsx")
  10.     Else               '檔案尚未打開時
  11.         Set Wb = Workbooks.Open("W:\00_科毅\出貨文件連結\自動複制.xlsx")
  12.     End If
複製代碼

TOP

回復 8# iamaraymond

感謝...這樣完全正常了。

TOP

回復 10# iamaraymond

一直不知道問題出在哪!謝謝您,幫忙解決.

TOP

        靜思自在 : 發脾氣是短暫的發瘋。
返回列表 上一主題