Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10全般 : Excel 2019)
tokuteino文字列がある場合に、その隣のセルの値を修正する
投稿日時: 23/03/17 15:20:21
投稿者: naoki34hino34

C列で特定の文字列、D列で特定の文字列がある場合、B列の文字列を別の文字列に修正するということをやりたいんですが、VBAでどのように書けばいいのでしょうか。
 
    B列 C列 D列
 大学院 進学 △△大学大学院博士課程
 大学院 進学 ●●大学大学院
 大学院 進学 △△大学大学院
 大学 留学 ■■大学
 企業 就職 ××電機商会
 大学 就職 △△大学
 
この場合、C列が「進学」で、「△△大学」という文字列が入っている場合に、B列を「本学大学院」に修正し、そのほかはそのまま残すということです。
 
初心者のため、何卒よろしくお願いします。

回答
投稿日時: 23/03/17 15:41:25
投稿者: taitani
投稿者のウェブサイトに移動

Sub ReplaceText()
    Dim lastRow As Long
    Dim i As Long
    Dim strC As String
    Dim strD As String
    
    lastRow = Range("B" & Rows.Count).End(xlUp).Row
    
    For i = 2 To lastRow
        strC = Cells(i, 3).Value 'C列の文字列を取得
        strD = Cells(i, 4).Value 'D列の文字列を取得
        
        If strC = "進学" And InStr(strD, "大学") > 0 Then 'C列が「進学」で、D列に「大学」が含まれる場合
            Cells(i, 2).Value = "本学大学院" 'B列を「本学大学院」に修正
        End If
    Next i
End Sub

※ChatGPT にやってもらいました(笑)

回答
投稿日時: 23/03/17 16:05:29
投稿者: WinArrow

質問者の提示条件は
vC列が「進学」で、「△△大学」という文字列が入っている場合、
ですから
素直に
If Cells(i, 3).Value = "進学" And _
   Cells(i, 4).Value = "△△大学" Then
の方がよいのでは?

投稿日時: 23/03/17 16:21:20
投稿者: naoki34hino34

早速ありがとうございました!
問題なくできました。
 
こんなことまでChatGPTでできるんですね。。勉強になりました。

回答
投稿日時: 23/03/17 16:57:10
投稿者: taitani
投稿者のウェブサイトに移動

WinArrow さん、大変失礼いたしましたm(_ _)m
 
naoki34hino34さん、目視確認、動作確認を行っておらずごめんなさい。

回答
投稿日時: 23/03/29 20:21:28
投稿者: simple

「Q&A掲示板ご利用上のお願い」
質問者の方へのお願い

https://www.moug.net/faq/kiyaku.html#link1
 
解決したら解決マークを
  質問が解決したら、お礼を書き込み、「解決済みにする」をチェックしてください。

コードをもらえば終了ということでもないので、よろしくお願いします。
 
# 「遠足は家に帰るまでが遠足です」(小学校校長あいさつより)

トピックに返信