Excel VBAの通知システムを作成しようとしていましたが、解決できないと思われるレンガの壁にぶつかりました。私が得たエラー404 - オブジェクトが必要は、私が作成したコードです。皆さん、お手伝い願います。BloombergアドインをExcelに使用したときのエラー404
Public price_col As Range
Public vol_col As Range
Public Sub setVars()
Set price_col = Range("E2:E90")
Set vol_col = Range("J2:J90")
End Sub
Private Sub Worksheet_Calculate()
checkPrice price_col
checkVol vol_col
End Sub
Private Sub Worksheet_Change(ByVal target As Range)
setVars
If Not Intersect(target, price_col) Is Nothing Then
checkPrice target
End If
If Not Intersect(target, vol_col) Is Nothing Then
checkVol target
End If
End Sub
Public Sub checkPrice(target As Range)
**For Each cell In target**
Dim row As Long
row = Range(cell.Address).row
If cell.Value > 0.025 Then
If ThisWorkbook.getPriceState(row) <> 1 Then
MsgBox "Price " & Application.WorksheetFunction.RoundDown(cell.Value * 100/1, 0) * 1 & "% rise: " & Range(cell.Address).Offset(0, -2).Value
ThisWorkbook.setPriceState row, 1
End If
ElseIf cell.Value < -0.025 Then
If ThisWorkbook.getPriceState(row) <> -1 Then
MsgBox "Price " & Application.WorksheetFunction.RoundDown(cell.Value * 100/1, 0) * 1 & "% fall: " & Range(cell.Address).Offset(0, -7).Value
ThisWorkbook.setPriceState row, -1
End If
ElseIf cell.Value <> "" Then
If ThisWorkbook.getPriceState(row) <> 0 Then
ThisWorkbook.setPriceState row, 0
End If
End If
Next cell
End Sub
Public Sub checkVol(vol_col As Range)
For Each cell In vol_col
Dim row As Long
row = Range(cell.Address).row
If cell.Value >= 2.5 Then
If ThisWorkbook.getVolState(row) <> 3 Then
MsgBox "Volume Change above 250%" & Range(cell.Address).Offset(0, -7).Value
ThisWorkbook.setVolState row, 3
End If
ElseIf cell.Value >= 2 Then
If ThisWorkbook.getVolState(row) <> 2 Then
MsgBox "Volume Change above 200%" & Range(cell.Address).Offset(0, -7).Value
ThisWorkbook.setVolState row, 2
End If
ElseIf cell.Value >= 1.5 Then
If ThisWorkbook.getVolState(row) <> 1 Then
MsgBox "Volume Change above 150%" & Range(cell.Address).Offset(0, -7).Value
ThisWorkbook.setVolState row, 1
End If
ElseIf cell.Value <> "" Then
If ThisWorkbook.getVolState(row) <> 0 Then
ThisWorkbook.setVolState row, 0
End If
End If
Next cell
End Sub
I「は、標的内の各セルのための」コードにエラーが発生しました。それは太字であった。助けてくれてありがとう!
に追加する必要があります。この正確なエラーに関する700+の既存の質問は役に立ちませんでしたか? –
(a) 'Calculate'イベントまたは' Change'イベントからの呼び出し中にエラーが発生していますか? (b) 'getPriceState'、' setPriceState'、 'getVolState'と' setVolState'は何をしますか? (それらのいずれかがシートを更新するか、 'checkPrice'を呼び出しますか?) – YowE3K
@ YowE3K変更イベントから発生しました。 ExcelはBloomberg APIに接続されているので、ティックデータでティックを抽出することができます。したがって、金額と量産 – noob