
No.3ベストアンサー
- 回答日時:
以下の様な物はいかがでしょうか?選択されている部分を変更します。
Sub 絶対参照へ変換()
Dim セル As Range
For Each セル In Selection
If セル.HasFormula Then
セル.FormulaLocal = Application.ConvertFormula(セル.FormulaLocal, xlA1, xlA1, xlAbsolute)
End If
Next
End Sub
※「xlAbsolute」を以下のように変更すると次のように出来ます。
「xlRelative」にすると、相対参照になります。
「xlAbsRowRelColumn」にすると、行は絶対参照、列は相対参照になります。
「xlRelRowAbsColumn」にすると、行は相対参照、列は絶対参照になります。
No.4
- 回答日時:
#2です
>知識が足りなくて申し訳ありませんが、コピー元のデータ範囲と、貼り付け先のデータ範囲の指定は出来るのでしょうか?
コピー、貼り付け時のデータ範囲に対応する(書き方が少し変わります)ことも出来ますが、範囲が不明です。
>もしくは、元セルのセルに含まれるセル番地に一括して絶対値を付与する方法
として、回答しましたが、データ範囲を限定したいと言う事でしたか、残念。
範囲が示されていないのでその場合、GooUserラック氏の回答にあるようにSelectionが良いでしょう。
普通に考えるとSelectionの方が汎用性ありますよね。。
寝る前だったので、考えず、>複数のセルを一括して で.UsedRange(アクティブシートの使用しているセル範囲全て)にしました。
Sub Sample()
Dim cel As Range ’セル
With ActiveSheet ’アクティブなシート(複数選択の場合、表示されているシート)
For Each cel In .UsedRange ’使用されているセル範囲すべて
If Range(cel.Address).HasFormula = True Then ’セルの内容に数式があるかHasFormulaプロパティで調べる
cel.Formula = Application.ConvertFormula(cel.Formula, xlA1, xlA1, xlAbsolute)’ ConvertFormulaで数式を操作する。これにつては#3にあります。
End If
Next cel
End With
End Sub
こんにちは、返事が遅くなってすみません、
ご丁寧に最後まで教えて頂き、ありがとうございます。
おかげさまで目的が果たせました、行 列 まで応用できるのも知りました。
大変ありがたく思います、ありがとうございました!
No.2
- 回答日時:
こんばんは、このようなのでいかがでしょう。
一例です。
Sub Sample()
Dim cel As Range
With ActiveSheet
For Each cel In .UsedRange
If Range(cel.Address).HasFormula = True Then
cel.Formula = Application.ConvertFormula(cel.Formula, xlA1, xlA1, xlAbsolute)
End If
Next cel
End With
End Sub
回答いただき ありがとうございます。
知識が足りなくて申し訳ありませんが、コピー元のデータ範囲と、貼り付け先のデータ範囲の指定は出来るのでしょうか?
No.1
- 回答日時:
計算式の列記号や行番号の前に「$」を付けるマクロという事ですか?
こんばんわ、前回は回答いただきありがとうございます。
その通りです。
A1 =(E142+E163+E184+E205+E226+E247+E541)/7
B1 =(F142+F163+F184+F205+F226+F247+F541)/7
C1 =(G142+G163+G184+G205+G226+G247+G541)/7
みたいな感じで数式が入っているのですが、貼りつける際に参照元が変わってしまうのを防ぐために、一括で絶対値を付与するか、上記のデータ全てに絶対値を付与したいと言う事です。
(実際はもっとたくさんのコピペがあります。)
マクロは依然ボタンクリックのみ出来るようで、もしマクロで解決する方法であれば、ボタンクリックで行いたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの複数のセルを一括で絶対参照にする方法 3 2023/06/14 15:57
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
数式を残したまま、別のセルに...
-
vba テキストボックスとリフト...
-
エクセルで指定したセルのどれ...
-
Excel 例A(1+9) のように番地の...
-
エクセルの書式設定の表示形式...
-
枠に収まらない文字を非表示に...
-
【Excel】 セルの色での判断は...
-
エクセルのセルの枠を超えて文...
-
VBAでセルを指定した画像のコピ...
-
エクセルで住所と建物名を分け...
-
(Excel)数字記入セルの数値の後...
-
EXCEL VBA セルに既に入...
-
Excel2003 の『コメント』の編...
-
月毎に参照するセルを変更したい。
-
セルをクリック⇒そのセルに入力...
-
ハイパーリンクの参照セルのズ...
-
エクセル オートフィルタで絞...
-
エクセルの一つのセルに複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報
コピペではなく絶対値を付与する方法でしたね、解決しました!
ありがとうございました!