LoginSignup
0
0

More than 5 years have passed since last update.

エクセルVBAで特定列の先頭文字列を削除する

Last updated at Posted at 2018-10-26

自分用メモ。
ブラウザから表をコピーしてエクセルに貼り付け → C列に記載される文字列の頭にNo.xxxとつくのでそれをVBAで削除

プログラミングに自信はないので、細かい話は知りません。

環境

OS:Win7 
Excel 2010

引用元

忘れた。

ソース

del_num.vbs
Sub del_num()

 Dim ws As Worksheet
 Dim lastRow1 As Long
 Dim r As Long

 Set ws = Sheets("sheet1")

 Dim reg As Object

 Set reg = CreateObject("VBScript.RegExp")

 '行数カウント
 'C列を下から上に向けてカウント
 lastRow = ws.Range("C" & Rows.Count).End(xlUp).Row

 '置換文字パターン
 With reg
   .Pattern = "^No.[0-9]*:"  '正規表現でパターンを指定
   .IgnoreCase = False  '大文字小文字の区別をしない
   .Global = True  '文字列全体に検索を適用
 End With

 '行頭のナンバーを置換で削除する
 'C列の最下行から10行目までループで文字列を置換
 For r = lastRow To 10 Step -1
   If ws.Range("C" & r).Value > 0 Then
     str1 = ws.Range("C" & r).Value
     If str1 Like "No.*" Then
       ws.Range("C" & r).Value = reg.Replace(str1, "")
     End If
   End If
 Next

 r = 0

End Sub
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0