過去ログ

                                Page     609
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼繰り返しを簡単に  まつもと 03/1/24(金) 22:14
   ┣Re:繰り返しを簡単に  ichinose 03/1/24(金) 23:20
   ┃  ┗Re:繰り返しを簡単に  Nakamura 03/1/24(金) 23:28
   ┃     ┗お礼  まつもと 03/1/25(土) 8:49
   ┗Re:繰り返しを簡単に  Nakamura 03/1/24(金) 23:26

 ───────────────────────────────────────
 ■題名 : 繰り返しを簡単に
 ■名前 : まつもと <himawari@ztv.ne.jp>
 ■日付 : 03/1/24(金) 22:14
 -------------------------------------------------------------------------
   以下のような式を
Do Loop やFor Next などで簡単にする
方法を教えて下さい

  e42 = Range("e42").Value
  e43 = Range("e43").Value
  e44 = Range("e44").Value
  e45 = Range("e45").Value
  e46 = Range("e46").Value
  e47 = Range("e47").Value
  .
  .
  .
  e99 = Range("e100").Value
  e100 = Range("e100").Value
 ───────────────────────────────────────  ■題名 : Re:繰り返しを簡単に  ■名前 : ichinose  ■日付 : 03/1/24(金) 23:20  -------------------------------------------------------------------------
   ▼まつもと さん:
こんばんは。

>以下のような式を
>Do Loop やFor Next などで簡単にする
>方法を教えて下さい
>
>  e42 = Range("e42").Value
>  e43 = Range("e43").Value
>  e44 = Range("e44").Value
>  e45 = Range("e45").Value
>  e46 = Range("e46").Value
>  e47 = Range("e47").Value
>  .
>  .
>  .
>  e99 = Range("e100").Value
>  e100 = Range("e100").Value
  ↑この変数は、配列にしたらどうでしょうか?
'============================================
Sub test()
  Dim e(42 To 100) As Variant
  For idx = 42 To 100
   e(idx) = Range("e" & idx).Value
   Next
End Sub

他にもちょっと、ご希望と違いますが、こんな方法もあります。
これは、ご参考までに・・・・。
'====================================================
Sub test2()
  Dim e() As Variant
  e() = Range("e42:e100").Value
  For idx = LBound(e) To UBound(e)
   MsgBox e(idx, 1)
   Next
End Sub

 
 ───────────────────────────────────────  ■題名 : Re:繰り返しを簡単に  ■名前 : Nakamura  ■日付 : 03/1/24(金) 23:28  -------------------------------------------------------------------------
   すいません
かぶりました。
 ───────────────────────────────────────  ■題名 : お礼  ■名前 : まつもと <himawari@ztv.ne.jp>  ■日付 : 03/1/25(土) 8:49  -------------------------------------------------------------------------
   ichinose様,nakamura様

 ありがとうございました。
配列の意味がやっと分かりました。

 特にichonose様の二つ目の参考例は
さっぱりわかりませんでしたが,じょじょに
勉強したいと思いました。

 また,分からないことがあったらよろしく
お願いします。
 ───────────────────────────────────────  ■題名 : Re:繰り返しを簡単に  ■名前 : Nakamura  ■日付 : 03/1/24(金) 23:26  -------------------------------------------------------------------------
   こんばんは

質問があります。
>e42 = Range("e42").Value
上記式の左辺は変数ですか?
変数だとすると、数が多いので通常配列を使います。
こんな感じで

Sub test()

  Dim E(42 To 100) As Variant, i As Integer
   
  For i = 42 To 100

    E(i) = Range("E" & i).Value
    
  Next
  
End Sub

それでは
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 609