1
私はVBAで構築した関数を使用するのに苦労しています。私は関数内で参照するシートを別のシートで使用しようとしますが、循環参照エラーが発生します。誰でも私を助けてくれますか? VBAでコードを書くのは初めてです。エラーが面白いかどうか理解してください。 VBA関数の記述に関するアドバイスのエラー循環参照VBA関数から
Function Dividend(row As String, col As Date) As Variant
Dim Table As Range
Dim Blgdata() As Variant
Dim v As Integer
Dim h As Integer, var As Date
v = 666
h = 27
Sheets(3).Activate
Set Table = Range(Cells(179, 1), Cells(844, 27))
Debug.Print Table.Address
ReDim Blgdata(1 To v, 1 To h)
Blgdata = Table
Dim i As Integer, j As Integer
'For i = 1 To 666
' For j = 1 To 26
' Debug.Print Blgdata(i, j)
' If Blgdata(i, j + 1) = 0 Then
' Exit For
'
' End If
'Next j
'Next i
For i = 1 To v Step 7
If Blgdata(i, 1) = row Then
For j = 3 To h
var = Blgdata(i + 1, j)
'Debug.Print var
If (var = col) Then
Dividend = Blgdata(i + 4, j)
Exit For
End If
If j = h Then
Dividend = "-"
Exit For
End If
If Blgdata(i, j + 1) = 0 Then
Exit For
End If
Next j
End If
Next i
End Function
どのコード行でエラーが発生していますか?そして、上記のコードはワークシートまたはモジュール(シートの場合はどちらですか)ですか? –
シグネチャには関係ありませんが、 '行として文字列、col As Date'が表示されるだけでは、正しく表示されません。実際にはそれは完全に混乱しています - 将来、あなたは "WTF ?!"というコードを見ています。今から数ヶ月後に行/列は、行/列のインデックスを参照する「Long」整数であると合理的に予想される。 –
[Rubberduck](http://rubberduckvba.com/indentation)(免責事項:私はそのオープンソースプロジェクトを管理しています)などのツールを使用して、適切なインデントを手助けすることができます。 –