Excel VBA質問箱 IV

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

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


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

【48603】繰り返しのやりかた カラー 07/4/24(火) 21:52 質問[未読]
【48604】Re:繰り返しのやりかた かみちゃん 07/4/24(火) 22:10 発言[未読]
【48605】Re:繰り返しのやりかた カラー 07/4/24(火) 22:19 発言[未読]
【48606】Re:繰り返しのやりかた かみちゃん 07/4/24(火) 22:29 発言[未読]

【48603】繰り返しのやりかた
質問  カラー  - 07/4/24(火) 21:52 -

引用なし
パスワード
   以下のようにE10に1が入っていたら2を入力。それ以外なら・・・・
というマクロをくんでみたのですが、それをE10、E11、E12・・・と
数字が入っている文字まで繰り返しできるようにしたいのですが
よかったら教えてください。

a = Range("E10").Value

Select Case a

Case 1

   Range("E10").Select
  ActiveCell.FormulaR1C1 = "2"
  Range("E11").Select
  
Case 2

Range("E10").Select
  ActiveCell.FormulaR1C1 = "2"
  Range("E11").Select
  
Case 3

Range("E10").Select
  ActiveCell.FormulaR1C1 = "3"
  Range("E11").Select
  
Case Else
 
  Range("E10").Select
  ActiveCell.FormulaR1C1 = "4"
  Range("E11").Select
End Select

End Sub

【48604】Re:繰り返しのやりかた
発言  かみちゃん  - 07/4/24(火) 22:10 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>以下のようにE10に1が入っていたら2を入力。それ以外なら・・・・
>というマクロをくんでみたのですが、それをE10、E11、E12・・・と
>数字が入っている文字まで繰り返しできるようにしたい

今ひとつしたいことがよくわからないのですが、コードを整理すると、
以下のような感じでいかがでしょうか?

Sub Sample()
 Dim c As Range
 
 For Each c In Range("E10:E14")
  Select Case c.Value
   Case 1
    c.Value = 2
   Case 2
    c.Value = 2
   Case 3
    c.Value = 3
   Case Else
    c.Value = 4
  End Select
 Next
End Sub

肝心の繰り返し処理については、
Do...Loop ステートメント
For...Next ステートメント
For Each...Next ステートメント
のいずれかを使います。
詳しくは、ヘルプを確認してみてください。

【48605】Re:繰り返しのやりかた
発言  カラー  - 07/4/24(火) 22:19 -

引用なし
パスワード
   有り難う御座います。
なんとかできました。
Vlookupの関数の式がF列にあるのですが
1から4の数字を入れると抽出ができます。
がコピーして数字を貼り付けるとなぜか関数が
作動せず、もう一度その数字を打ち直さなければなりません
だからこのマクロを作りたかったのです。
意味わかりましたかね??
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>以下のようにE10に1が入っていたら2を入力。それ以外なら・・・・
>>というマクロをくんでみたのですが、それをE10、E11、E12・・・と
>>数字が入っている文字まで繰り返しできるようにしたい
>
>今ひとつしたいことがよくわからないのですが、コードを整理すると、
>以下のような感じでいかがでしょうか?
>
>Sub Sample()
> Dim c As Range
> 
> For Each c In Range("E10:E14")
>  Select Case c.Value
>   Case 1
>    c.Value = 2
>   Case 2
>    c.Value = 2
>   Case 3
>    c.Value = 3
>   Case Else
>    c.Value = 4
>  End Select
> Next
>End Sub
>
>肝心の繰り返し処理については、
>Do...Loop ステートメント
>For...Next ステートメント
>For Each...Next ステートメント
>のいずれかを使います。
>詳しくは、ヘルプを確認してみてください。

【48606】Re:繰り返しのやりかた
発言  かみちゃん  - 07/4/24(火) 22:29 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Vlookupの関数の式がF列にあるのですが
>1から4の数字を入れると抽出ができます。
>がコピーして数字を貼り付けるとなぜか関数が
>作動せず

再計算モードが手動になっているだけでは?
「ツール」−「オプション」の「計算方法」タブを確認してみてください。

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