- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2007 マクロ 特定セルの文字列抽出)
Excel2007 マクロで特定セルの文字列抽出方法を解説
このQ&Aのポイント
- Excel2007のマクロを使用して特定のセルから文字列を抽出する方法について解説します。
- A列に入力された製品番号から、特定の部分文字列を抽出し、B列に転記する方法をマクロで実現することができます。
- 試しに考えたコードではエラーが発生してしまうため、正しいコードをアドバイスしてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub moji() Dim last As Long, i As Long Dim strt As String 'A列「製品番号」から文字を抽出してB列に反映 last = Range("A65536").End(xlUp).Row For i = 2 To last strt = Mid(Cells(i, "A"), 6, 3) Cells(i, "B") = strt Next i End Sub ※「Dim strt As Integer」→「Dim strt As String」 数字ならIntegerでも良いですが、Stringの方が安全だと思います。 ※「strt = Mid("A", 7, 3)」→「strt = Mid(Cells(i, "A"), 6, 3)」 "A"だと"A"という文字の7桁目から3桁になってしまい、必ず空文字になってしまいます。 また、AAAA-NNN-BBBB-UUUUUUUのNNNは6桁目からだと思います。 それをstrt(数字)に代入するからエラーになります。
その他の回答 (1)
- mu2011
- ベストアンサー率38% (1910/4994)
回答No.1
>Dim strt As Integer ⇒Dim strt As Stringで文字列のデータ属性 >strt = Mid("A", 7, 3) ⇒strt = Mid(Cells(i,"A"), 6, 3)ではないでしょうか。
質問者
お礼
ご回答ありがとうございました。早い回答に助かりました。
お礼
ご回答ありがとうございました。エラーの原因まで解説して頂きましてありがとうございました。助かりました。