返回列表 上一主題 發帖

[發問] 請問巨集要如何更改~才能執行不同sheet欄位的最後一行呢?

[發問] 請問巨集要如何更改~才能執行不同sheet欄位的最後一行呢?

本帖最後由 alltest 於 2013-1-4 21:21 編輯

圖001        sheet1 錄製巨集
圖002        sheet2 執行巨集後
圖001巨集  程式

請問大大們sheet1錄製的巨集要如何更改,
才能讓sheet2也能執行如同sheet1的結果呢?



Book-計算.rar (6 KB)

回復 2# alltest


    只需一句, 一句到尾
  1. Range(Range("D2"), Range("D2").Offset(, -1).End(xlDown).Offset(0, 1)).FormulaR1C1 = "=RC[-1]-RC[-2]"
複製代碼
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

回復 2# kimbal


    謝謝版主大大kimbal的回覆^^
    執行後的結果, 會出現錯誤耶
   請問要如何修改才好呢?

TOP

回復 3# alltest
  1. Sub Macro1()
  2. '
  3. ' Macro1 Macro
  4. ' user 在 2013/1/4 錄製的巨集
  5. '

  6. '
  7. With ActiveSheet
  8.     .[D2].FormulaR1C1 = "=RC[-1]-RC[-2]"
  9.     .[D2].AutoFill Destination:=.Range(.[D2], .Range("C2").End(xlDown).Offset(, 1))
  10.     .Range(.[D2], .Range("C2").End(xlDown)).Select
  11.     .Range("E2").Select
  12. End With
  13. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 3# alltest
這三程式碼作用都相同,(置於一般模組中 Module1 )可適用有相同資料格式的工作表
   
  1. Sub Ex() '*************** C欄.Offset(, 1) => D欄的公式
  2.     Range("C2", Range("C2").End(xlDown)).Offset(, 1) = "=RC[-1]-RC[-2]"      '
  3.     End Sub
複製代碼
  1. Sub Ex1() '************** D欄.Offset(, -1)參考C欄最後有資料位置
  2.     Range("D2", Range("D2").Offset(, -1).End(xlDown).Offset(0, 1)).FormulaR1C1 = "=RC[-1]-RC[-2]"
  3. End Sub
複製代碼
  1. Sub Ex2() '***************
  2.     Range("D2").Select                               '"D2"為指定儲存格
  3.     ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
  4.     'Selection.AutoFill Destination:=Range("D2:D8") '這裡"D2:D8",才不會出錯
  5.     Selection.AutoFill Destination:=Range("D2:D" & Range("C2").End(xlDown).Row)
  6.     ' Range("C2").End(xlDown).Row 可延伸到C欄最後有資料位置之列號(Row)
複製代碼

TOP

回復 4# Hsieh


    謝謝您~ Hsieh 超級版主大大的幫忙^^
   執行結果已經成功,感恩~

TOP

回復 5# GBKEE


    謝謝您~ GBKEE 版主大大的熱心幫忙^^
    提供好多不同程式幫忙解決,
    讓初學的我及討論區的朋友們
   可以多學一些,感恩~
    (每個程式皆可執行成功)

TOP

        靜思自在 : 忘功不忘過,忘怨不忘恩。
返回列表 上一主題