作業ブックに
下記のマクロコードを設定しております。
Sub Edison()
'
' Edison Macro
'
'
ActiveWindow.SmallScroll ToRight:=18
ActiveWindow.SmallScroll Down:=15
ActiveWindow.SmallScroll ToRight:=13
Range("AW26:AW38").Select
Selection.Copy
ActiveWindow.ScrollColumn = 28
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 1
Range("E26").Select
ActiveSheet.Paste
Range("L26").Select
End Sub
マクロを実行するとセルAW26~AW38をE26~E38迄コピーするマクロです。
例えばセルAW26に=IF(K6="■",AA49,IF(K6="□",AX26,""))を設定し
マクロを事項すると「♯REF」となり(=IF(#REF!="■",#REF!,IF(#REF!="□",F26,""))」
の数式になってしまいます。
マクロを実行し後もE26に「=IF(K6="■",AA49,IF(K6="□",AX26,""))」
をそのままコピーできる方法がありましたら教えてください。
よろしくお願いいたします。
尚、同じように
AW27~AW37→E27~E37も同様に設定したいです。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
コピー時に相対参照がずれることが原因のようですので、元の式の参照を絶対参照にすれば解決するはずです。
絶対参照はご存知ですよね?
絶対参照・相対参照と$マーク
https://kokodane.com/kihon19.htm
AW26の式を絶対参照にすればコピー後もずれないのでは?
例
=IF($K$6="■",$AA$49,IF($K$6="□",$AX$26,""))
横方向(AW26→E26)へのコピーのみでしたら行番号の絶対参照は必要ないかもしれません。
>AW27~AW37→E27~E37も同様に設定したいです。
も同様ですが、K6がどのように参照されているかによって絶対参照にする必要があります。
老婆心
マクロの記録で作っているようですが
ActiveWindow.SmallScroll のところは不要に感じます。
No.1
- 回答日時:
こんにちは
通常は、コピペで式がどう変化するかは、設定する関数式を作成するときに考えます。
(参照方式(=絶対参照、相対参照)を学習なさるのが宜しいかと)
ご質問の内容をマクロでなく手動でやるならどうなさいますか?
手動操作を考えて、それをマクロ化なされば良いのではないでしょうか?
まぁ、以下でも結果は同じと思いますけれど・・
Sub hoge()
Range("E26:E38").FormulaLocal = "=AW26"
End Sub
>AW27~AW37→E27~E37も同様に設定したいです。
他の範囲の場合でも同様ではないかと・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/09/21 13:01
- Visual Basic(VBA) Excelのマクロについて教えてください。 3 2022/06/30 09:36
- PowerPoint(パワーポイント) エクセルのマクロ設定について教えてください。 2 2021/10/29 11:36
- Excel(エクセル) マクロを修正できないものか、統合シートについて 3 2021/12/07 09:26
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Excel(エクセル) マクロでセル内の文字列と同じ名前ファイルを選択し、コピペする方法 2 2021/12/31 15:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
Microsoft Formsの「個人情報や...
-
会社PCのメールが更新されない
-
teams設定教えて下さい。 ①ビデ...
-
マイクロソフト 一時使用コード...
-
Outlook 2021 アカウント設定時...
-
Officeの字体
-
マクロ自動コピペ 貼り付ける場...
-
Outlookを立ち上げたらGoogleロ...
-
office365って抵抗感ないですか?
-
エクセルで英文字に入れた下線...
-
エクセル 表の移動
-
Microsoft365で自動保存が出来...
-
Outlookで、任意のメールアドレ...
-
Excel テーブル内の空白行の削除
-
SUMIFS関数について
-
OFFICEで自動保存されたファイ...
-
マクロ1があります。 A1のセル...
-
excel テーブル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報
回答ありがとうございました。
K6が■の時は固定文字なので問題は無いのですが
説明不足で申し訳ありません、
AX26に「=SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( AW48, "P", "" ), ".", "" ), "[", "" ), "]", "" ), "0", "" ), "1", "" ), "2", "" ), "3", "" ), "4", "" ), "5", "" ), "6", "" ), "7", "" ), "8", "" ), "9", "" )」