返回列表 上一主題 發帖

請教由巨集錄制的公式如何轉換為VBA公式,並且儲存格可以是變數

回復 18# GBKEE


版大您好
再次謝謝
如此多次麻煩您,真是不好意思

我現在就只有一個"b.xls"
  1.    Workbooks(hubopf).Worksheets("AC8E").Activate
  2.   Dim hubcn As Integer, hubrwcnt As Integer
  3.    hubrwcnt = ActiveSheet.UsedRange.Rows.Count
  4.   For hubcn = 2 To hubrwcnt - 1
  5.     Workbooks(hubopf).Activate
  6.     Worksheets("AC8E").Range("BT" & hubcn).Select
  7.    If Selection.Value > 0 Then
  8.       Do
  9.         Workbooks(calopf).Worksheets("sheet2").Activate
  10.         Cells(ActiveSheet.Rows.Count, 6).End(xlUp).Select
  11.         Selection.Offset(1, 0).Select
  12.         Dim mycarw As Integer
  13.         mycarw = ActiveCell.Row
  14.         ActiveCell.FormulaR1C1 = _
  15.         "=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)"
  16.         Selection.Value = Selection.Value
  17.         ActiveCell.Offset(1).Select
  18.       Loop Until ActiveCell.Offset(-1).Value = False
複製代碼
以上是片段的程式碼,
我想請教版大,我所想要的ActiveCell.FormulaR1C1 應該是在Workbooks(calopf).worksheets("sheet2")的儲存格之中,是不是我哪邊寫錯了,導致公式並沒在我要的儲存格內?

或是版大願意的話,我可以將檔案寄給版大幫忙看一下>"<

感謝

TOP

回復 20# GBKEE


版大,是的,那個就是我要的公式所在Activecell

TOP

回復 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

版大,感謝您
請問如紅字所寫的,是不是正確?
而且逐行執行是到公式那一列就錯誤了,還沒換成值就錯誤
頭痛中>"<

TOP

本帖最後由 luffyzoro 於 2011-11-25 17:24 編輯

回復 24# GBKEE


版大,有AC8E這個工作表,請看第19樓我的程式碼第1列有啟動,而且也沒出現錯誤

謝謝版大熱情回覆

TOP

回復 26# GBKEE


版大您好
我已收到您的短消息
請再給我一些時間,我想把我寫的程式做一下註解,再給您幫忙

另外,我進個人資料不知要把我的mail填在哪裡耶>"<

感謝版大

TOP

回復 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這個檔名是長檔名或是內有空格或其他字元
所以需要再前面再加單引號
謝謝版大多次回覆
另外, 我還是會將我的檔案寄給版大看看

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題