返回列表 上一主題 發帖

[發問] 讓公式的值,直接帶入儲存格

回復 12# jcchiang
您好,
我把測試檔案附上,方便幫我看一下嗎?它依然不能貼上資料
以往copy資料都是以列數為準,但現在有新的需求,以EX: A:X欄為指定區間,貼資料or向右貼公式
W.Sheets("多")的欄數= xcol
Sheets("新")的A4 以 xcol為來源,代入公式,但執行都無作用,請問要怎麼做??
循欄貼資料.rar (22.02 KB)

TOP

回復 11# PJChen
加個"."
   Set Sh = W.Sheets("多")
        Sh.Activate
        i = "A2:E2"
            xcol = Sh.Range(i).Columns.Count  '看幾筆資料
        With W.Sheets("新")
        W.Sheets("新").Activate
       .Range("A4" & xcol).Value = "=" & "多!A3*多!C3" '公式
       .Range("A4" & xcol).Value = .Range("A4" & xcol).Value
        
        End With   
另外Range("A4" & xcol),如果xcol=5,則為Range("A45")
如果是要Range("A4")加上xcol的欄位則改為
.Range("A4").Resize(1, xcol).Value = "=" & " 多!A3*多!C3" '公式
.Range("A4").Resize(1, xcol).Value = .Range("A4").Resize(1, xcol).Value
如果xcol=5,這樣Range("A4")至Range("E4")都會放入公式,但公式的位置會變化
如果要向下放就將Resize(1,xcol)改為Resize(xcol,1)
以上提供參考

TOP

回復 3# kim223824

請問: 我想把類似的方法應用到以下...
W.Sheets("多")的欄數= xcol
Sheets("新")的A4 以 xcol為來源,代入公式,但執行都無作用,請問要怎麼做??
  1.    Set Sh = W.Sheets("多")
  2.         Sh.Activate
  3.         i = "A2:E2"
  4.             xcol = Sh.Range(i).Columns.Count  '看幾筆資料
  5.         With W.Sheets("新")
  6.         W.Sheets("新").Activate
  7.         Range("A4" & xcol).Value = "=" & "多!A3*多!C3" '公式
  8.        Range("A4" & xcol).Value = Range("A4" & xcol).Value
  9.         
  10.         End With   
複製代碼

TOP

回復 3# kim223824

好感謝你教的這段程式,我很常用到這個,真是實用,太感謝了...
With Sh

Sh.Activate
Range("JQ2") = Range("H1").Value  '前一日庫存總數,貼到AH

xRow = Cells(Cells.Rows.Count, "F").End(xlUp).Row  '看F欄位幾筆資料
Range("JQ4:JQ" & xRow).value = "=AH4-BR4"
Range("JQ4:JQ" & xRow).value  = Range("JQ4:JQ" & xRow).value   '轉換值

end With

TOP

回復 8# jcchiang

謝謝

TOP

回復 7# PJChen

請參考!!
https://blog.csdn.net/xuemanqianshan/article/details/89305212
向左 xlToLeft - -----1       
向右 xlToRight - ---2       
向上 xlUp - ---------3       
向下 xlDown -------4

TOP

回復 5# 准提部林
感謝准大,
r = [F65535].End(3).Row -3 資料就可以正常
關於End(3)....我想這應該各種代號有不同的用法,請問哪裡可以有這個代號解說?

TOP

回復 1# PJChen

Range("JQ4") = "=" & "AH4-BR4"
這只是簡單公式, 並不太耗效能,
除非行數太多,
甚至已有其它大量公式[正在引用]JQ欄, 所以才會拖累速度

TOP

回復 4# PJChen


r = [F65535].End(3).Row > 是最後一筆資料的--列號

r = [F65535].End(3).Row -3 > 減去標題列上方的列數, 才是資料的--筆數


r = [F65535].End(3).Row > (3) = (xlup)

TOP

回復 2# jcchiang
回復 3# kim223824

感謝兩位的幫忙,答案都可以用

請問jcchiang
r = [F65535].End(3).Row
後面的End(3) 怎麼解讀?
它得出的答案會多3列,超出F欄列數
本來以為要改為(0),結果不能用,請問要如何做?

TOP

        靜思自在 : 人生沒有所有權,只有生命的使用權。
返回列表 上一主題