Excel VBA質問箱 IV

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

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


4521 / 13646 ツリー ←次へ | 前へ→

【56095】文字結合による変数としての登録 S.A 08/6/1(日) 19:57 質問[未読]
【56096】Re:文字結合による変数としての登録 マクロマン 08/6/1(日) 20:07 発言[未読]
【56097】Re:文字結合による変数としての登録 neptune 08/6/1(日) 20:09 回答[未読]
【56099】Re:文字結合による変数としての登録 kanabun 08/6/1(日) 21:39 発言[未読]
【56153】Re:文字結合による変数としての登録 S・A 08/6/5(木) 20:13 お礼[未読]

【56095】文字結合による変数としての登録
質問  S.A  - 08/6/1(日) 19:57 -

引用なし
パスワード
   以下のように、COUTとAを結合させ登録した変数COUNT1,COUNT2,COUNT3として扱えるかなと考えたのですが、うまくいきません。この場合どういう風な書き方になるのでしょうか? よろしくお願いします。
Sub テスト()
Dim COUNT1, COUNT2, COUNT3 As Variant
COUNT1 = 1
COUNT2 = 2
COUNT3 = 3
For A = 1 To 3
ANS = "COUNT" & A
Cells(A, 1) = ANS
Next A
End Sub

【56096】Re:文字結合による変数としての登録
発言  マクロマン  - 08/6/1(日) 20:07 -

引用なし
パスワード
   「配列」で調べてみるといいことがあるかもしれません。

【56097】Re:文字結合による変数としての登録
回答  neptune  - 08/6/1(日) 20:09 -

引用なし
パスワード
   ▼S.A さん:
こんにちは

変数の宣言を手抜きしてはいけません。

Sub テスト()
  Dim COUNT(1 To 3) As Long
  Dim A As Long
  Dim ANS As Long
  
  COUNT(1) = 1
  COUNT(2) = 2
  COUNT(3) = 3
  For A = 1 To 3
    ANS = COUNT(A) & A
    Cells(A, 1).Value = ANS
  Next A
End Sub


※VBEのHelpで
visual basicプログラミングのヒント
 配列の宣言
 変数の宣言
 配列の使い方
を読みましょう。
この辺りは基本中の基本ですから必ず目を通しましょう。

※VBEのメニューで
ツール
 オプション
  編集タブ
で、「変数の宣言を強制する」
にチェックを入れましょう。

【56099】Re:文字結合による変数としての登録
発言  kanabun  - 08/6/1(日) 21:39 -

引用なし
パスワード
   ▼S.A さん:
   [A]
[1] COUNT1
[2] COUNT2
[3] COUNT3

としたいなら、

Sub 配列に書き込む()
 Dim i As Long
 Dim 配列変数(1 To 3, 1 To 1) As String
 For i = 1 To 3
  配列変数(i, 1) = "COUNT" & i
 Next
 Range("A1").Resize(3).Value = 配列変数
End Sub
でしょうか?
(★ループ変数は i,j,k,l,m,n などが昔からよく用いられてます。)

横道ですが、
数式なら、こう?
Sub 数式でセット()
 Range("A1").Resize(3).Formula = "=""COUNT""&ROW()"
End Sub

【56153】Re:文字結合による変数としての登録
お礼  S・A  - 08/6/5(木) 20:13 -

引用なし
パスワード
   皆様、ご回答ありがとうございました。
ちょっと、お礼が遅れた事お詫びいたします。
ご指摘どおり、配列変数を使ったら簡単にできてしまいまいた。
助かりました。ありがとうございました。

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