当サイトでは「会計事務所による寄稿記事」を募集しています。
事務所の強み・専門性・成功事例を、経営者や担当者に直接アピール!
記事の末尾には【事務所プロフィール枠】を設け、ロゴ・得意分野・連絡先などを掲載できます。

VBAでワークシートの最終列から数えて2列目にある各行の文字列内の(と)の間のデータに置き換える

スポンサーリンク
Sub ReplaceWithExtractedData()
    Dim secondSourceWorksheet As Worksheet
    Dim lastRow As Long, lastColumn As Long
    Dim currentCell As Range
    Dim inputString As String
    Dim startPos As Integer, endPos As Integer
    Dim extractedData As String
    Dim i As Long

    ' secondSourceWorksheet を設定
    Set secondSourceWorksheet = ThisWorkbook.Worksheets("Sheet2") ' シート名を適切に変更してください

    ' 最終行および最終列を取得
    lastRow = secondSourceWorksheet.Cells(Rows.Count, "A").End(xlUp).Row
    lastColumn = secondSourceWorksheet.Cells(1, Columns.Count).End(xlToLeft).Column

    ' 最終列から数えて2列目にある各行の文字列を処理
    For i = 1 To lastRow
        Set currentCell = secondSourceWorksheet.Cells(i, lastColumn - 1)
        inputString = currentCell.Value

        ' 開始位置と終了位置を検索
        startPos = InStr(inputString, "(") + 1
        endPos = InStr(inputString, ")") - 1

        ' 開始位置と終了位置の間のデータを抽出
        If startPos > 1 And endPos >= startPos Then
            extractedData = Mid(inputString, startPos, endPos - startPos + 1)
        Else
            extractedData = ""
        End If

        ' 抽出したデータに現在のセルの値を置き換え
        currentCell.Value = extractedData
    Next i
End Sub
タイトルとURLをコピーしました