| 
    
     |  | 下記のような条件にて動作をするVBAを作成したいのですがご教示頂けましたら幸いです。 D列においてランダムで、商品名(SHOUHINMEI)というデータがある場合のみ括弧を含めた括弧内の文字データのみをA列に改行したいのですが…
 元データ→D列 商品名(SHOUHINMEI)
 VBA実施後のデータ→D列 商品名、A列(SHOUHINMEI)
 
 A列での同じような動作は下記のコードで実施できております。
 
 Sub A列を取得()
 Application.ScreenUpdating = False
 
 Dim R As Long
 For R = 2 To Get最終行(ActiveSheet)
 If Cells(R, 1) <> "" Then
 Cells(R, 2) = Getカッコ内(Cells(R, 1))
 End If
 Next
 
 End Sub
 
 Function Getカッコ内(ByVal 元テキスト As String) As String
 
 元テキスト = Replace(元テキスト, "(", "(")
 元テキスト = Replace(元テキスト, ")", ")")
 
 Dim 開始 As Long, 終了 As Long
 開始 = InStr(元テキスト, "(") + 1
 終了 = InStr(元テキスト, ")") - 1
 
 If 開始 > 1 And 終了 >= 開始 Then
 Getカッコ内 = Mid(元テキスト, 開始, 終了 - 開始 + 1)
 End If
 
 End Function
 ' シートの最終行を取得する
 Function Get最終行(ws As Worksheet) As Long
 Get最終行 = ws.UsedRange.Rows.Count + ws.UsedRange.Row - 1
 
 End Function
 
 
 |  |