選択した行のみマクロを使いたい
以前、こちらのサイトで表を展開するマクロを教えていただきました。
そのマクロをシート全体ではなく、任意の行や任意のセルにだけに使えるようにしたいです。
Sub 展開()
Dim nLast As Long
Dim vAdata, i, j
Dim vData
nLast = Cells(Rows.Count, 1).End(xlUp).Row
'行を追加削除する時は下から上が基本
For i = nLast To 1 Step -1
vAdata = Cells(i, 1)
'A列が空白ではなく、B列が空白の場合、B列以降を上と同じにする
If (vAdata <> "") And (Cells(i, 2) = "") And (i > 1) Then
Rows(i) = Rows(Cells(i, 2).End(xlUp).Row).Value
Cells(i, 1) = vAdata
End If
If vAdata = "" Then
'A列の値が空白なら削除
Rows(i).Delete Shift:=xlUp
Else
'A列の最後に「,」が有る場合は取り除く
If Right(vAdata, 1) = "," Then
vAdata = Left(vAdata, Len(vAdata) - 1)
End If
vData = Split(vAdata, ",")
'A列の値がカンマで区切られていた場合
If UBound(vData) > 0 Then
'対象行をコピーして区切られていた数-1だけ下に挿入
Rows(i).Copy
Rows(i & ":" & i + UBound(vData) - 1).Insert Shift:=xlDown
'A列の値を区切られていた値に書き換える
For j = 0 To UBound(vData)
Cells(i + j, 1) = vData(j)
Next j
End If
End If
Next i
End Sub
というマクロを教えて頂きました。
これをどのようにすればいいでしょうか?
ご教授お願いします。
お礼
ありがとうございます。 これで何とかなりそうです。 大変助かりました。