Board logo

標題: [發問] 型態不符和 [打印本頁]

作者: alex520188    時間: 2014-11-19 10:51     標題: 型態不符和

各位前輩好

請問這段語法 紅字部份哪邊撰寫錯誤  他一直出現型態不符和

紅字部份 我要寫入的條件式是B2這個儲存格的位置

還請各位前輩多多指點
  1. Sub 鋼筋計():D
  2.   
  3. Dim I%, J%, k%                         '宣告變數
  4. Dim current As Worksheet
  5. 'For Each current In Worksheets         '對所有活頁簿作處理
  6. 'current.Select

  7. J = 1
  8. Do While Cells(1, J) <> "量測值"        '滿足條件時執行以下動作
  9. J = J + 1
  10. Loop
  11. J = J - 1
  12. Columns(J).Insert Shift:=xlToRight     '向右插入一欄
  13. k = Range("a:a").End(xlDown).Row       '取得A欄最後一格有資料的值
  14. Range(Columns(J + 1).Rows(2), Columns(J + 2).Rows(k)).Clear  '欄位數值清除
  15. Cells(1, J) = Now()                    '鍵入時間
  16. For I = 2 To k Step 1
  17.     If Cells(I, (J - 1)) - Cells(I, (J - 2)) > 0 Then
  18.         Randomize                      '若相減大於0 跑負亂數
  19.         Cells(I, J) = Round(((-1 - -3) * Rnd + -3), 1) + Cells(I, (J - 1))
  20.             ElseIf Cells(I, (J - 1)) - Cells(I, (J - 2)) < 0 Then
  21.                 Randomize              '若相減小於0 跑正亂數
  22.                 Cells(I, J) = Round(((2 - 1) * Rnd + 1), 1) + Cells(I, (J - 1))
  23.         Else
  24.             Cells(I, J) = ""           '以上條件不成立則為空字串
  25.     End If
  26. If Cells(I, J) - Cells(I, (J - 2)) = 0 Then
  27.     Call 等於0
  28. End If
  29.     With Cells(I, J + 1)               '求得兩者差異
  30.         .Formula = "=IF(ISBLANK(" & .Offset(0, -1).Address & "),""""," & .Offset(0, -1).Address & " - " & .Offset(0, -2).Address & ")"
  31.         With Cells(I, J + 2)           '求得量測值
  32.             .Formula = "=IF(ISBLANK(" & .Offset(0, -2).Address & "),""""," & "c" & I & "+(Round(" & .Offset(0, -2).Address & [color=Red]" / " & .Offset(0, ".End(xlleft)+2).Address,0) ")[/color]
  33.         End With
  34.     End With
  35. If Cells(I, J) = "" Then               '當此為空字
  36.     Cells(I, J + 1) = ""               '則顯示空字串
  37.     Cells(I, J + 2) = ""
  38. End If
  39. Next I
  40. Set current = Nothing                  '釋放物件變數
  41. 'Next current
  42. MsgBox "Worksheets working Success!!"  '訊息提示
  43. End Sub
複製代碼

作者: luhpro    時間: 2014-11-20 04:05

各位前輩好

請問這段語法 紅字部份哪邊撰寫錯誤  他一直出現型態不符和

紅字部份 我要寫入的條件式是 ...
alex520188 發表於 2014-11-19 10:51

紅字是指 For Each current In Worksheets  這一行嗎?
我執行起來沒問題喔.
  1. Sub 鋼筋計()
  2.   
  3. Dim I%, J%, k%                         '宣告變數
  4. Dim current As Worksheet
  5. For Each current In Worksheets         '對所有活頁簿作處理
  6. current.Select

  7. J = 1
  8. Do While Cells(1, J) <> "量測值"        '滿足條件時執行以下動作
  9. J = J + 1
  10. Loop
  11. J = J - 1
  12. Columns(J).Insert Shift:=xlToRight     '向右插入一欄
  13. k = Range("a:a").End(xlDown).Row       '取得A欄最後一格有資料的值
  14. Range(Columns(J + 1).Rows(2), Columns(J + 2).Rows(k)).Clear  '欄位數值清除
  15. Cells(1, J) = Now()                    '鍵入時間
  16. For I = 2 To k Step 1
  17.     If Cells(I, (J - 1)) - Cells(I, (J - 2)) > 0 Then
  18.         Randomize                      '若相減大於0 跑負亂數
  19.         Cells(I, J) = Round(((-1 - -3) * Rnd + -3), 1) + Cells(I, (J - 1))
  20.             ElseIf Cells(I, (J - 1)) - Cells(I, (J - 2)) < 0 Then
  21.                 Randomize              '若相減小於0 跑正亂數
  22.                 Cells(I, J) = Round(((2 - 1) * Rnd + 1), 1) + Cells(I, (J - 1))
  23.         Else
  24.             Cells(I, J) = ""           '以上條件不成立則為空字串
  25.     End If
  26. If Cells(I, J) - Cells(I, (J - 2)) = 0 Then
  27.     'Call 等於0
  28. End If
  29.     With Cells(I, J + 1)               '求得兩者差異
  30.         .Formula = "=IF(ISBLANK(" & .Offset(0, -1).Address & "),""""," & .Offset(0, -1).Address & " - " & .Offset(0, -2).Address & ")"
  31.         With Cells(I, J + 2)           '求得量測值
  32.             '.Formula = "=IF(ISBLANK(" & .Offset(0, -2).Address & "),""""," & "c" & I & "+(Round(" & .Offset(0, -2).Address & [color=Red]" / " & .Offset(0, ".End(xlleft)+2).Address,0) ")[/color]
  33.         End With
  34.     End With
  35. If Cells(I, J) = "" Then               '當此為空字
  36.     Cells(I, J + 1) = ""               '則顯示空字串
  37.     Cells(I, J + 2) = ""
  38. End If
  39. Next I
  40. Set current = Nothing                  '釋放物件變數
  41. Next current
  42. MsgBox "Worksheets working Success!!"  '訊息提示
  43. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)