• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2007 マクロ 特定セルの文字列抽出)

Excel2007 マクロで特定セルの文字列抽出方法を解説

このQ&Aのポイント
  • Excel2007のマクロを使用して特定のセルから文字列を抽出する方法について解説します。
  • A列に入力された製品番号から、特定の部分文字列を抽出し、B列に転記する方法をマクロで実現することができます。
  • 試しに考えたコードではエラーが発生してしまうため、正しいコードをアドバイスしてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.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(数字)に代入するからエラーになります。

hyogara777
質問者

お礼

ご回答ありがとうございました。エラーの原因まで解説して頂きましてありがとうございました。助かりました。

その他の回答 (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)ではないでしょうか。

hyogara777
質問者

お礼

ご回答ありがとうございました。早い回答に助かりました。

関連するQ&A