Excel VBA質問箱 IV

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

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


922 / 13645 ツリー ←次へ | 前へ→

【77518】マクロの繰り返し もでぃ 15/10/18(日) 11:26 質問[未読]
【77519】Re:マクロの繰り返し マナ 15/10/18(日) 12:56 発言[未読]
【77520】Re:マクロの繰り返し β 15/10/18(日) 13:27 発言[未読]

【77518】マクロの繰り返し
質問  もでぃ  - 15/10/18(日) 11:26 -

引用なし
パスワード
   次のようなコードを作成しました。

Sub sample()
If Range("E2").Value = "有" Or Range("F2").Value = "有" Then
Range("G2").Value = "有"
Else
Range("G2").Value = ""
End If
End Sub

E2セルかF2セルのどちらかに「有」という文字があれば
G2セルに「有」という文字を入れるというものです。

これを「A列の最終行(文字がある行)」まで繰り返し行いたいのですが
やり方がわかりません。

別の言い方をすれば

このシートのE列もしくはF列に「有」があれば
同じ行のG列に「有」をいれる

という意味合いです。

ただ、E列もしくはF列に「有」があったりなかったりしますので
必ず文字がある「A列」の文字があるところまで繰り返したいのです。

よろしくお願いします。

【77519】Re:マクロの繰り返し
発言  マナ  - 15/10/18(日) 12:56 -

引用なし
パスワード
   ▼もでぃ さん:

必要な部品としては下記のような感じです

1)A列の最終行セルを求めるマクロ
2)A列の2行めから最終行セルまで繰り返すマクロ
3)A列の4つ右のセル(E列)、5つ右のセル(F列)の値を取得するマクロ
4)A列の6つ右のセル(G列)に値を入れるマクロ

【77520】Re:マクロの繰り返し
発言  β  - 15/10/18(日) 13:27 -

引用なし
パスワード
   ▼もでぃ さん:

G2 に =IF(OR(E2="有",F2="有"),"有","")

こんな式を入れて、最終行までフィルコピーして値をセットさせるという手もありますね。

マナさんの手順を参考にすれば

必要な部品としては

1)A列の最終行セルを求めるマクロ
2)G列の2行めから最終行セルまでのC2:G○ の領域の Formulaプロパティに
  "=IF(OR(E2=""有"",F2=""有""),""有"","""")" を入れて(1行)
3)C2:G○ の Value を C2:G○ のValue で上書き

こうするとループなしで実行できますね。


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