2009年09月24日

EXcel:絶対参照・相対参照

絶対参照と相対参照。
後で変更しなきゃぁとなって面倒くさいな、ってことないですか?
・F4で切替
・相対→絶対なら文字列置換でも
・マクロで一気に
■F4で切替
対象セルをクリック→F2(編集状態)→F4キー
$A$1(行列絶対)→A$1(行絶対)→$A1(列絶対)→A1(相対)
で巡回

少ないとかセルの一部ならコレでもよいかも

■相対→絶対
文字列置換でできますです。
一部のみ対象ならこちらが確実かもですね。

ただ、絶対→相対 で上手くいかないときがあります・・・。

■マクロで処理
行列絶対→行列相対のコードにつき、行だけとかトグルとか列だけとかそういうのはご自身でどぞ。
よくお使いになるならユーザーフォームで制御するようにされてもよいかも。
以下のコードは「先にセルを選択してから」実行してください。
実行前にブックの保存を!
行列絶対→行列相対
Sub 相対置換()
'相対→絶対のときはxlRelativeをxlAbsoluteへ書き換え
Dim myRange As Range
On Error Resume Next
If Not ActiveWindow Is Nothing Then
For Each myRange In Selection.SpecialCells(xlCellTypeFormulas)
If myRange.HasArray = False Then
myRange.Formula = Application.ConvertFormula _
(myRange.Formula, xlA1, , xlRelative, myRange)
Else
myRange.FormulaArray = Application.ConvertFormula _
(myRange.FormulaArray, xlA1, , xlRelative, myRange)
End If
Next
Else
Exit Sub
End If
End Sub


15:25│PC周辺種々雑多 | |blogram投票ボタン|日コマ雑記帖