0
特定の検索文字列に一致するすべてのセルをExcel 2011の右側に移動したいと考えていますが、Excelのnoobの合計です。例えばExcelのマクロ式1セルと一致するセルを右に移動する
、検索文字列 "A" と:
A A A _ _ B A A _
へ:
_ A A A _ B _ A A
ないで:
_ A _ A _ B _ A
ありがとう!
特定の検索文字列に一致するすべてのセルをExcel 2011の右側に移動したいと考えていますが、Excelのnoobの合計です。例えばExcelのマクロ式1セルと一致するセルを右に移動する
、検索文字列 "A" と:
A A A _ _ B A A _
へ:
_ A A A _ B _ A A
ないで:
_ A _ A _ B _ A
ありがとう!
Sub MoveRight()
Dim rFound As Range
Dim lFirstCol As Long
Dim rSearch As Range
Const sSEARCH As String = "A"
Set rSearch = Sheet1.Cells
'Find the first instance in the right most column
Set rFound = rSearch.Find(sSEARCH, rSearch.Cells(1), xlValues, xlWhole, xlByColumns, xlPrevious, True)
'If a cell was found
If Not rFound Is Nothing Then
'Record the column so we know when to stop
lFirstCol = rFound.Column
'loop through all the found cells
Do
rFound.Offset(0, 1).Value = rFound.Value
rFound.ClearContents
Set rFound = rSearch.FindPrevious(rFound)
'stop when it wraps back around and finds the first
'instance that you moved one cell to the right
Loop Until rFound.Column > lFirstCol
End If
End Sub
このマクロを実行する前に、必ずファイルのバックアップを保存してください。あなたが望むことをしなければ、元に戻すことはできません。
大変感謝しています。 – fairidox
私が書こうと思っていたものよりずっときれいでエレガントなコードです。私は 'Find'の使い方が好きです。 –