Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8848 / 13645 ツリー ←次へ | 前へ→

【30741】配列変数について じっちょう 05/11/4(金) 11:04 質問[未読]
【30748】Re:配列変数について Jaka 05/11/4(金) 12:21 回答[未読]
【30752】Re:配列変数について じっちょう 05/11/4(金) 14:01 お礼[未読]

【30741】配列変数について
質問  じっちょう  - 05/11/4(金) 11:04 -

引用なし
パスワード
   Sub test()
Dim S1 As Worksheet
Dim A(1 To 3, 1 To 4) As String・・・・・1

Set S1 = Worksheets("sheet1")
A = S1.Cells(1, 1).Resize(3, 4).Value・・・・・・2
MsgBox "A(1, 1) = " & A(1, 1) & vbCr & _
      "A(1, 2) = " & A(1, 2) & vbCr & _
      "A(1, 3) = " & A(1, 3) & vbCr & _
      "A(1, 4) = " & A(1, 4) & vbCr & _
      "A(2, 1) = " & A(2, 1) & vbCr & _
      "A(2, 2) = " & A(2, 2) & vbCr & _
      "A(2, 3) = " & A(2, 3) & vbCr & _
      "A(2, 4) = " & A(2, 4) & vbCr & _
      "A(3, 1) = " & A(3, 1) & vbCr & _
      "A(3, 2) = " & A(3, 2) & vbCr & _
      "A(3, 3) = " & A(3, 3) & vbCr & _
      "A(3, 4) = " & A(3, 4)
End Sub
Sub TEST1()
  Dim S1 As Worksheet
  Dim A As Variant・・・・・3 
  Set S1 = Worksheets("Sheet1")
  ' セル範囲を一気に配列に転記
  A = S1.Cells(1, 1).Resize(3, 4).Value
  ' 処理結果をメッセージ表示
  MsgBox "A(1, 1) = " & A(1, 1) & vbCr & _
      "A(1, 2) = " & A(1, 2) & vbCr & _
      "A(1, 3) = " & A(1, 3) & vbCr & _
      "A(1, 4) = " & A(1, 4) & vbCr & _
      "A(2, 1) = " & A(2, 1) & vbCr & _
      "A(2, 2) = " & A(2, 2) & vbCr & _
      "A(2, 3) = " & A(2, 3) & vbCr & _
      "A(2, 4) = " & A(2, 4) & vbCr & _
      "A(3, 1) = " & A(3, 1) & vbCr & _
      "A(3, 2) = " & A(3, 2) & vbCr & _
      "A(3, 3) = " & A(3, 3) & vbCr & _
      "A(3, 4) = " & A(3, 4)
End Sub
いつもお世話になっております。
サンプルで配列変数について勉強しています。
1の所で配列を指定しているにもかかわらず、
2のAの所でコンパイルエラーと表示されるのはなぜかわかりません。
逆に配列を指定してない3で上手くいくのですか?

【30748】Re:配列変数について
回答  Jaka  - 05/11/4(金) 12:21 -

引用なし
パスワード
   こんにちは。

▼じっちょう さん:
>Sub test()
>Dim S1 As Worksheet
>Dim A(1 To 3, 1 To 4) As String・・・・・1
>
>Set S1 = Worksheets("sheet1")
>A = S1.Cells(1, 1).Resize(3, 4).Value・・・・・・2
この書き方は、Aがただのvariantでしか使えません。
この事は、ヘルプに書いてあった?と思います。

Dim A(1 To 3, 1 To 4) As variant ダメ
Dim A As variant

【30752】Re:配列変数について
お礼  じっちょう  - 05/11/4(金) 14:01 -

引用なし
パスワード
   ヘルプみてわかりました。
安易に掲示板に頼ってしまいすいません。
気をつけます。

8848 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free