標題:
VBA中公式轉變出錯問題
[打印本頁]
作者:
pcwh3
時間:
2016-9-3 11:25
標題:
VBA中公式轉變出錯問題
有一些在VBA中的程式寫法出錯問題如附件,希望各位可以幫忙指點一下需如何更改。
謝謝。[attach]25117[/attach]
作者:
c_c_lai
時間:
2016-9-3 14:31
回復
1#
pcwh3
是這樣麼?
Sub test20160903()
Dim lc As Integer
lc = [bz1].End(xlToLeft).Column
' MsgBox lc
[a1] = "=sum(" & ExChg(1, lc - 10) & ", " & ExChg(1, lc - 1) & ")"
[a2] = "=sum(b2:" & ExChg(2, lc - 1) & ")"
End Sub
Function ExChg(r As Integer, c As Integer) As String
ExChg = Chr(64 + c) & CStr(r)
End Function
複製代碼
作者:
c_c_lai
時間:
2016-9-3 14:35
回復
1#
pcwh3
[attach]25118[/attach]
作者:
pcwh3
時間:
2016-9-3 15:20
本帖最後由 pcwh3 於 2016-9-3 15:22 編輯
[attach]25121[/attach]
回復
2#
c_c_lai
剛試過。但如果我將LC位置更改到BA(例如),運行MACRO之後的結果是錯的。
這是甚麼原因。
在A2中應為=sum(b2:az2)才是正確。
作者:
c_c_lai
時間:
2016-9-3 15:50
回復
4#
pcwh3
你是說將 lc = [bz1].End(xlToLeft).Column
改成 lc = [ba1].End(xlToLeft).Column ?
其結果是一樣的。
作者:
c_c_lai
時間:
2016-9-3 15:56
回復
4#
pcwh3
你的 [A2] 公式為:
[a2] = "=sum(b2: cells(2,lc-1))"
怎可能 [a2] = =sum(b2:az2)才是正確???
作者:
准提部林
時間:
2016-9-3 16:09
[a1] = "=sum(" & Range(Cells(1, lc - 11), Cells(1, lc - 1)).Address & ")"
[a2] = "=sum(b2:" & Cells(2, lc - 1).Address(0, 0) & ")"
作者:
c_c_lai
時間:
2016-9-3 17:32
回復
7#
准提部林
謝謝版大的指導,又瞭解了另一種的表示方式,
真多謝!
[attach]25124[/attach]
作者:
pcwh3
時間:
2016-9-3 23:50
回復
7#
准提部林
多謝幫忙。實證代入我真實運作的macro 中,整個運行暢順快捷。
但對你所提的address. (0,0) 不甚明瞭原理。
可以的話可否講解一下,或提供參考路徑。
謝謝。
作者:
准提部林
時間:
2016-9-4 11:11
回復
9#
pcwh3
看一下
MsgBox Range("A1:F5").Address
MsgBox Range("A1:F5").Address(0, 0)
MsgBox Range("A1:F5").Address(1, 0)
MsgBox Range("A1:F5").Address(0, 1)
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)