ここから本文です

マクロ初心者です。If 文についてです。

アバター

ID非公開さん

2017/5/2314:33:35

マクロ初心者です。If 文についてです。

For j = 1 To LastCol
For i = 2 To LastRow
If Cells(i,j).Value <> ””Then
If Cells(i,j).Value Like ”*あ*” Then
Cells(i,j).Value = ”A”
Else
Cells(i,j).Value = ”◯”
EndIf
EndIf
Next i
Next j

値が入ってるセルのうち、
あが含まれるセルはAと変換し、それ以外のセルは◯に変換するマクロです。

終わって安心したのもつかの間。
これにさらに、
文字列が”返送”で終わるセルは、何にも変換せずそのままの値で。というのが追加に。

Cells(i,j).Value Like ”*返送” Then
(空白)

ということなのですが、
Elseの直前に上記を記述していいのか、
3行目の、
If Cells(i,j).Value <> ””Then
これに、andで、繋げた方がいいのか。。

Likeがあるのに、andと繋げられるのかまだ今調べ中ですが、
どこに記述するのが、分かりやすいでしょうか。

閲覧数:
43
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2017/5/2314:50:13

For j = 1 To LastCol
For i = 2 To LastRow
If Cells(i, j).Value <> "" Then
If Not Cells(i, j).Value Like "*返送" Then
If Cells(i, j).Value Like "*あ*" Then
Cells(i, j).Value = "A"
Else
Cells(i, j).Value = "◯"
End If
End If
End If
Next i
Next j

  • tra********さん

    2017/5/2314:55:12

    >Likeがあるのに、andと繋げられるのか
    特に問題ないでしょう。

    For j = 1 To LastCol
    For i = 2 To LastRow
    If (Cells(i, j).Value <> "") And _
    (Not Cells(i, j).Value Like "*返送") Then
    If Cells(i, j).Value Like "*あ*" Then
    Cells(i, j).Value = "A"
    Else
    Cells(i, j).Value = "◯"
    End If
    End If
    Next i
    Next j

    If文を増やすかどうかは、
    プログラムの長さ

    趣味趣向
    の問題でしょうね。

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

アバター

質問した人からのコメント

2017/5/23 15:04:57

ありがとうございました

ベストアンサー以外の回答

1〜1件/1件中

tac********さん

2017/5/2314:55:23

>どこに記述するのが、分かりやすいでしょうか。

自分が書いたコードでも1年後に見れば何をしているのか悩むのが普通です、
そうならないようにする一番良いのは処理内容をコメントとして書く事です。


参考

If Right(Cells(i,j), 2) = "返送" Then

If InStr(Cells(i,j), "あ") > 0 Then

と言う書き方も有ります。

Left、Right関数
http://www.239-programing.com/excel-vba/func/func021.html

InStr関数
http://officetanaka.net/excel/vba/function/InStr.htm

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる