Excel VBA質問箱 IV

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

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


6603 / 13644 ツリー ←次へ | 前へ→

【44277】VBAの算術演算子について れいな 06/11/12(日) 0:09 質問[未読]
【44278】Re:VBAの算術演算子について ponpon 06/11/12(日) 0:16 発言[未読]
【44298】Re:VBAの算術演算子について れいな 06/11/12(日) 13:20 お礼[未読]
【44286】Re:VBAの算術演算子について Kein 06/11/12(日) 1:21 回答[未読]
【44299】Re:VBAの算術演算子について れいな 06/11/12(日) 13:21 お礼[未読]

【44277】VBAの算術演算子について
質問  れいな  - 06/11/12(日) 0:09 -

引用なし
パスワード
   mod演算子を使ってマクロを書きたいんです
1〜24の整数のうち奇数を第1列に、偶数を第2列に表示させたいのです。

Dim C As Integer
Dim R As Integer

Sub Macro1()
  For R=1 To 24
   If[       ]Then
     C=1
   Else
     C=2
   End If
   Sheet1.Cells(R,C).Value=R
  Next R
End Sub

[ ]の中にどんなコードを書けば良いのか教えてください 

【44278】Re:VBAの算術演算子について
発言  ponpon  - 06/11/12(日) 0:16 -

引用なし
パスワード
   Dim C As Integer
Dim R As Integer

Sub Macro1()
  For R = 1 To 24
   If R Mod 2 = 1 Then
     C = 1
   Else
     C = 2
   End If
   Sheet1.Cells(R, C).Value = R
  Next R
End Sub

こうすれば、
>1〜24の整数のうち奇数を第1列に、偶数を第2列に表示させたいのです。
となりますが、1行おきですよそれは、よいのですか?

【44286】Re:VBAの算術演算子について
回答  Kein  - 06/11/12(日) 1:21 -

引用なし
パスワード
   ワークシートメニューの「ツール」「アドイン」で"分析ツール"にチェックを付けて

Sub Sep_MyNum()
  With Range("A1:A24")
   .Formula = "=IF(ISODD(ROW()),ROW(),"""")"
   .Offset(, 1).Formula = "=IF(ISEVEN(ROW()),ROW(),"""")"
   With .Resize(, 2)
     .Value = .Value
   End With
  End With
End Sub

という、数式で処理するコードを実行しても出来ます。
もちろん数式なので、手入力でも出来ますが。

【44298】Re:VBAの算術演算子について
お礼  れいな  - 06/11/12(日) 13:20 -

引用なし
パスワード
   ▼ponpon さん:教えて下さってありがとうございました
>Dim C As Integer
>Dim R As Integer
>
>Sub Macro1()
>  For R = 1 To 24
>   If R Mod 2 = 1 Then
>     C = 1
>   Else
>     C = 2
>   End If
>   Sheet1.Cells(R, C).Value = R
>  Next R
>End Sub
>
>こうすれば、
>>1〜24の整数のうち奇数を第1列に、偶数を第2列に表示させたいのです。
>となりますが、1行おきですよそれは、よいのですか?

【44299】Re:VBAの算術演算子について
お礼  れいな  - 06/11/12(日) 13:21 -

引用なし
パスワード
   ▼Kein さん:教えて下さってありがとうございました
>ワークシートメニューの「ツール」「アドイン」で"分析ツール"にチェックを付けて
>
>Sub Sep_MyNum()
>  With Range("A1:A24")
>   .Formula = "=IF(ISODD(ROW()),ROW(),"""")"
>   .Offset(, 1).Formula = "=IF(ISEVEN(ROW()),ROW(),"""")"
>   With .Resize(, 2)
>     .Value = .Value
>   End With
>  End With
>End Sub
>
>という、数式で処理するコードを実行しても出来ます。
>もちろん数式なので、手入力でも出来ますが。

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