請教由巨集錄制的公式如何轉換為VBA公式,並且儲存格可以是變數
- 帖子
- 23
- 主題
- 2
- 精華
- 0
- 積分
- 25
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2011-11-21
- 最後登錄
- 2013-4-9
|
回復 18# GBKEE
版大您好
再次謝謝
如此多次麻煩您,真是不好意思
我現在就只有一個"b.xls"- Workbooks(hubopf).Worksheets("AC8E").Activate
- Dim hubcn As Integer, hubrwcnt As Integer
- hubrwcnt = ActiveSheet.UsedRange.Rows.Count
- For hubcn = 2 To hubrwcnt - 1
- Workbooks(hubopf).Activate
- Worksheets("AC8E").Range("BT" & hubcn).Select
- If Selection.Value > 0 Then
- Do
- Workbooks(calopf).Worksheets("sheet2").Activate
- Cells(ActiveSheet.Rows.Count, 6).End(xlUp).Select
- Selection.Offset(1, 0).Select
- Dim mycarw As Integer
- mycarw = ActiveCell.Row
- ActiveCell.FormulaR1C1 = _
- "=IF(AND(RC[-1]=[" & hubopf & "]AC8E!R" & hubcn & "C2,[" & hubopf & "]AC8E!R" & hubcn & "C72>0,[" & hubopf & "]AC8E!R" & hubcn & "C72-SUM(R" & mycarw & "C11:RC[5])>0),[" & hubopf & "]AC8E!R" & hubcn & "C9)"
- Selection.Value = Selection.Value
- ActiveCell.Offset(1).Select
- Loop Until ActiveCell.Offset(-1).Value = False
複製代碼 以上是片段的程式碼,
我想請教版大,我所想要的ActiveCell.FormulaR1C1 應該是在Workbooks(calopf).worksheets("sheet2")的儲存格之中,是不是我哪邊寫錯了,導致公式並沒在我要的儲存格內?
或是版大願意的話,我可以將檔案寄給版大幫忙看一下>"<
感謝 |
|
|
|
|
|
|
|
- 帖子
- 23
- 主題
- 2
- 精華
- 0
- 積分
- 25
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2011-11-21
- 最後登錄
- 2013-4-9
|
回復 20# GBKEE
版大,是的,那個就是我要的公式所在Activecell |
|
|
|
|
|
|
|
- 帖子
- 23
- 主題
- 2
- 精華
- 0
- 積分
- 25
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2011-11-21
- 最後登錄
- 2013-4-9
|
回復 22# GBKEE
Do
Workbooks(calopf).Worksheets("sheet2").Activate
Cells(ActiveSheet.Rows.Count, 6).End(xlUp).Select
Selection.Offset(1, 0).Select
Dim mycarw As Integer
mycarw = ActiveCell.Row
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]=[" & hubopf & "]AC8E!R" & hubcn & "C2,[" & hubopf & "]AC8E!R" & hubcn & "C72>0,[" & hubopf & "]AC8E!R" & hubcn & "C72-SUM(R" & mycarw & "C11:RC[5])>0),[" & hubopf & "]AC8E!R" & hubcn & "C9)"
Selection.Value = Selection.Value←照迴圈來看還是應該先有公式取得計算後,公式才會被值取代
ActiveCell.Offset(1).Select
Loop Until ActiveCell.Offset(-1).Value = False
版大,感謝您
請問如紅字所寫的,是不是正確?
而且逐行執行是到公式那一列就錯誤了,還沒換成值就錯誤
頭痛中>"< |
|
|
|
|
|
|
|
- 帖子
- 23
- 主題
- 2
- 精華
- 0
- 積分
- 25
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2011-11-21
- 最後登錄
- 2013-4-9
|
本帖最後由 luffyzoro 於 2011-11-25 17:24 編輯
回復 24# GBKEE
版大,有AC8E這個工作表,請看第19樓我的程式碼第1列有啟動,而且也沒出現錯誤
謝謝版大熱情回覆 |
|
|
|
|
|
|
|
- 帖子
- 23
- 主題
- 2
- 精華
- 0
- 積分
- 25
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2011-11-21
- 最後登錄
- 2013-4-9
|
回復 26# GBKEE
版大您好
我已收到您的短消息
請再給我一些時間,我想把我寫的程式做一下註解,再給您幫忙
另外,我進個人資料不知要把我的mail填在哪裡耶>"<
感謝版大 |
|
|
|
|
|
|
|
- 帖子
- 23
- 主題
- 2
- 精華
- 0
- 積分
- 25
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2011-11-21
- 最後登錄
- 2013-4-9
|
回復 26# GBKEE
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]='[" & hubopf & "]" & shan & "'!R" & hubcn & "C2,'[" & hubopf & "]" & shan & "'!R" & hubcn & "C72>0,'[" & hubopf & "]" & shan & "'!R" & hubcn & "C72-SUM(R" & mycarw & "C11:RC[5])>0),'[" & hubopf & "]" & shan & "'!R" & hubcn & "C9)"
版大我找到問題了
問題可能在於hubopf這個檔名是長檔名或是內有空格或其他字元
所以需要再前面再加單引號
謝謝版大多次回覆
另外, 我還是會將我的檔案寄給版大看看 |
|
|
|
|
|
|
|