Excel VBA質問箱 IV

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

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


7109 / 76732 ←次へ | 前へ→

【75214】Re:複数の範囲(膨大)を、変数に取り込む
発言  kanabun  - 14/1/8(水) 16:57 -

引用なし
パスワード
   ▼初心者M さん:

>記号が不定のことが多い場合、
>
>Dim n As Long
>
>をstringかvariantに変えれば上手くいきますでしょうか。
>
>実はちょっと試したところ、C8の行の記号が勝手に書き換わるという現象が起き、
> ???という状態です。

そんなことしてもダメです。
全部のセルの記号に重複がなくユニークだったとしても、セル数 n は6075種類
ですから、
>Dim n As Long
でいいのです(最大6075ですからInteger型でもいいのですが、Long型が最善です)

こちらで動作を確かめるために、適当なデータをシート上に作成するために書いた
コードがありますから、そちらでも、新規シートをアクティブにして、↓を走らせて
ダミーデータを作成したものに対して、
Sub test3() を走らせて、どうなるか、テストしてみてください。


Sub test31データ埋め込み()
  Dim j As Long
  Dim y As Long, x As Long
  Dim Label As String
  Dim c As Range
  Dim r As Range
  Const Y0 = 8, YY = 25, Ystp = 16 '縦方向 最初の行、繰り返し回数,Step
  Const X0 = 5, XX = 27, Xstp = 3 '列方向 最初の列、繰り返し回数,Step
  
  Const Lo = 1, Hi = 2000
  Randomize
  
  j = 0
  Cells.Interior.ColorIndex = xlNone
  For x = X0 To X0 + (XX - 1) * Xstp Step Xstp
   For y = Y0 To Y0 + (YY - 1) * Ystp Step Ystp
     Set r = Cells(y, x).Resize(9)
     r.Interior.Color = vbCyan
     For Each c In r
       c(1, -1).Value = Int(Hi * Rnd() + Lo)
       j = j + 1: If j > 14 Then j = 1
       c.Value = Mid$("ABCDABCDKLMXYZ", j, 1)
     Next
    Next
  Next
End Sub
318 hits

【75209】複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 12:03 質問
【75210】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 13:18 発言
【75211】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 13:59 質問
【75212】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 14:35 発言
【75213】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 15:00 お礼
【75214】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 16:57 発言
【75215】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 17:06 発言
【75216】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 17:22 発言
【75217】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 17:33 発言
【75218】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 17:51 発言
【75219】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 18:01 発言
【75220】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 18:04 お礼

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