Excel VBA質問箱 IV

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

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


23331 / 76738 ←次へ | 前へ→

【58776】Re:VBAに出てくる「\演算子」の意味を教えて
発言  Hirofumi  - 08/11/9(日) 8:53 -

引用なし
パスワード
   余談ですが、使われ方の1例として
VBAには、「\演算子」と対に成る「MOD演算子」(剰余を求める)が有ります
意味は、小学校でやる最初の割り算を思い出して下さい
「5割る2はいくつ? 答え2で余り1」
上記の「答え2」を求める演算子が「\」で
「余り1」を求める演算子が「MOD」です
此れは、考え方を変えると、
「\」演算子はグループ番号を返す演算子
「MOD」演算子はグループ内の順位を返す演算子と捉えるこもできます

例えば、2つの配列変数が有り、
配列変数Aは基底0(0から始まる配列変数)で15列の1元配列とします(添え字の番号は0〜14)
Dim A(14) As Long
配列変数Bは基底0(0から始まる配列変数)で4列、4行の2元配列とします(添え字の番号は0〜3、0〜3)
Dim B(3, 3) AsLong
配列変数Aには、1〜15までの数値が入っている物とし
此れを、配列変数BにZ型に数値入れます

Public Sub Test1()

  Dim A(14) As Variant
  Dim B(3, 3) As Variant
  Dim i As Long 'Loopカウンタ
  
  '数値をA配列に入れます
  For i = 0 To 14
    A(i) = Choose(i + 1, 1, 2, 3, 4, 5, 6, 7, _
            8, 9, 10, 11, 12, 13, 14, 15)
  Next i
  
  '配列変数Aの内容を配列変数BにZ型に代入します
  For i = 0 To 14
    B(i \ 4, i Mod 4) = A(i)
  Next i
  
  '配列変数AをA1:A15に出力します
  Range("A1").Resize(, 15).Value = A
  '配列変数BをA3:D6に出力します
  Range("A3").Resize(4, 4).Value = B
  
End Sub

'同じ事を、「\」「MOD」を使わないで行う場合

Public Sub Test2()

  Dim A(14) As Variant
  Dim B(3, 3) As Variant
  Dim i As Long 'Loopカウンタ
  Dim j As Long 'Loopカウンタ
  Dim k As Long 'Loopカウンタ
  
  '数値をA配列に入れます
  For i = 0 To 14
    A(i) = Choose(i + 1, 1, 2, 3, 4, 5, 6, 7, _
            8, 9, 10, 11, 12, 13, 14, 15)
  Next i
  
  '配列変数Aの内容を配列変数BにZ型に代入します
  k = 0
  For i = 0 To 3
    For j = 0 To 3
      B(i, j) = A(k)
      k = k + 1
      If k > 14 Then
        Exit For
      End If
    Next j
    If k > 14 Then
      Exit For
    End If
  Next i
  
  '配列変数AをA1:A15に出力します
  Range("A1").Resize(, 15).Value = A
  '配列変数BをA3:D6に出力します
  Range("A3").Resize(4, 4).Value = B
  
End Sub

と成ります
また、「MOD」は、ある変数値が増えて行く場合、
対と成る変数に一定の値が繰り返されて入る様なコードを書く時にも使われます
1 hits

【58774】VBAに出てくる「\演算子」の意味を教えて kumasan 08/11/9(日) 3:23 質問
【58775】Re:VBAに出てくる「\演算子」の意味を教えて りん 08/11/9(日) 5:20 発言
【58776】Re:VBAに出てくる「\演算子」の意味を教えて Hirofumi 08/11/9(日) 8:53 発言
【58777】Re:VBAに出てくる「\演算子」の意味を教えて ponpon 08/11/9(日) 13:48 発言

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