多次元配列を作成する必要がありますが、配列の高さはわかりません。 私はこの値を取得し、それを変数に格納します。残念ながら、配列を宣言するときに変数を使用することはできません。定数を使用する必要があります。だから、私は変数から定数を宣言することができたと思ったが、以前の行の "Constant Expression Required"と同じエラーが出る。現在、3行目VBAの既存の変数の値に基づいて定数を宣言できますか?
lr = Tables.Cells(Rows.Count, 1).End(xlUp).Row
Const constlr As Integer = lr
Dim TableNamesArr(2 To constlr, 1 To 4) As String
Dim i As Integer, j As Integer
For i = 2 To lr
For j = 1 To 4
TableNamesArr(i, j) = Tables.Cells(i, j).Value
Next j
Next i
は問題である - 整数= LR
として のConst constlrが、私はその行を削除し、LRにすべてconstlrを変更した場合、それは5行である - Dim TableNamesArr(2 To lr, 1 To 4) As String
。
LRが問題であり、それは整数または一定にする必要がありますが、私は変更する場合は、整数
コードを保持する変数が正常に動作しません:
Const constlr As Integer = lr
Const constlr As Integer = 102
へ
コードのどの行でエラーが発生しますか? –
現在3 - Const constlr As Integer = lr ですが、その行を削除してすべてのconstlrをlrに変更すると、行5 - Dim TableNamesArr(2〜lr、1〜4)がStringになります。 lrは問題です。整数または定数でなければなりませんが、整数を保持する変数ではありません。 –
メイン(タイトル)の質問への答えは**です。これはできません。**証明はあなたの質問とあなたのテスト(最後の数行)。私の質問は、なぜあなたは 'lr'を定数として設定しなければならないと思いますか?定数定義を考えてください。変更しないものですが、変更したいものです。それは感覚を作りません。 –