No.1
- 回答日時:
こんにちわ。
A1の部分を直接入力せずに、参照先アドレスを作業セル(たとえばF1)に入力します。
そして、数式の部分では、="[Book1.xls]Sheet1!" & indirect(F1)
という風にすれば、作業セルの修正だけですみますので、ラクかも。
しかし、絶対参照、相対参照をうまく使い分けていれば、数式を複写しても、自動的に参照先は変わるのでは?
回答ありがとうございます
絶対参照・相対参照なんてわからないです・・・
逆に質問されても困っちゃいますよー(^^;)
もし良かったらわかりやすく教えてください
No.2
- 回答日時:
たくさんの参照位置を変更したいというのは
どういう状況でしょうか。
ブック1の参照位置をずらすというのは
ブック1自体に変更があったのではないでしょうか。
もしそうなら、同時に参照先と参照元の両方のブックを
開いて更新作業を行うと
ブック1に挿入などの位置ズレが
あっても参照側も一緒にズレます。
上とは違い、単独の場合、たとえば
縦に並んだ A1 A2 A3 を
A2 A3 A4 のように変えたいなら
仮に同名のブックを作成して
同時に開きます。
同名ブックでA1に下へ挿入するさぎょうを行います。
これで参照側に反映していると思います。
あとはマクロです。
強力にたくさんある場合はこれです。
どのような変更か分かれば
もう少し具体的に説明できるかもしれません。
良かったら教えて下さい。
この回答への補足
回答ありがとうございます
実際にどういうことをしたいかというと
4/1:Book1のSheet1のA1~A10をBook2のSheet1のA1~A10にリンク
Book1のSheet2のA1~A10をBook2のSheet1のB1~B10にリンク
Book1のSheet3のA1~A10をBook2のSheet1のC1~C10にリンク
・
・
・
4/2:Book1のSheet1のB1~B10をBOOK2のSheet1のA1~A10にリンク
Book1のSheet2のB1~B10をBOOK2のSheet1のB1~B10にリンク
Book1のSheet3のB1~B10をBOOK2のSheet1のC1~C10にリンク
・
・
・
となります
今まではまず4/1のものをコピーして新しいシートを作り、質問にあるように
数式の最後の数字だけ手作業で変更し、あとはセルのコピーをしていましたが
手作業での変更の時間を短縮したいと思い、質問してみました
これでわかっていただけますでしょうか?
もしわからなかったらまた補足いたします
よろしくお願いします
No.3
- 回答日時:
Book2のどこかに、差し障りのない空きセルを探します。
例えば、それをセルH1とします。Book2の
A1 に =OFFSET([Book1]Sheet1!$A$1,ROW()-1,$H$1-1)
B1 に =OFFSET([Book1]Sheet2!$A$1,ROW()-1,$H$1-1)
C1 に =OFFSET([Book1]Sheet3!$A$1,ROW()-1,$H$1-1)
として下にコピーします。(フィルハンドルを引っ張ってもいいです)
H1が『1』ならBook1のA列、『2』ならB列、『3』ならC列・・・となります。
算式を換える必要はないはずです。『H1』をかえるだけでBook2の値は変化します。
ご参考に。
回答ありがとうございます
上の補足でも書きましたが、具体例が少し違っていました
スイマセン
この関数を使ったやり方も是非試させていただきます
もういい人ばっかりで恐縮しっ放しです
No.4ベストアンサー
- 回答日時:
毎日やるようなら一括で変更する方法を考えてみました。
良かったら、下のものを試してみて下さい。
マクロですが、簡単です。
最初だけ準備に少し手順が必要ですが
その後はボタン一つです。ご協力下さい。
参照する「参照元ファイル」
参照される「参照先ファイル」
の二つが必要です。
補足にあるような表形式を想定しています。
ABCの3列のみ、10行だけ、を指定により更新。
どの列を参照するか指定します。
1と指定すると、シート1、2、3の各A列を参照する式に変えます。
31だとAE列を参照します。列を番号を指定して下さい。
参照元、先、の両方を開いた状態でスタートして下さい。
以下の手順でお願します。
「マクロの貼り付け」
「準備」
「実行」
「マクロの貼り付け」
1.参照元のブックを開いて
2.Alt + F11 を押して VBE を起動して下さい。
3.ツールバーの「挿入」-「標準モジュール」
を選んで下さい。
4.出てきた白紙に下のソースを貼りつけて下さい。
5.ツールバーの「ファイル」-「終了してエクセルに戻る」
を選択してエクセルに戻って下さい。
「準備」
1.参照元ファイルの、シートをアクティブにしてから
(参照式の入っている、または式を入れたいシート)
2.ツールバーの 、「ツール」-「マクロ」-「マクロ」を選んで
中から「準備」を選択して、実行して下さい。
これで準備完了です。
「実行」
作られた、ボタンを押すとスタートします。
ボタンは右クリックすると移動やサイズ変更ができます。
適当な位置に配置して下さい。
下のマクロを貼りつけて下さい。
Sub 参照ズレズレ()
ズレ = InputBox("1は、1日(A列)。31は、31日(AE列)。", "日、または 列", "1")
ブック名 = "Book2" 'ここを変更して下さい。
シート名1 = "Sheet1" '参照先の ブック名、シート名は
シート名2 = "Sheet2" 'ここで決まります。
シート名3 = "Sheet3" '実行前にここを変えて下さい。
For 行 = 1 To 10
式 = "=+[" & ブック名 & "]" & シート名1 & "!R[" & 0 & "]C[" & ズレ - 1 & "]"
Cells(行, 1).FormulaR1C1 = 式
式 = "=+[" & ブック名 & "]" & シート名2 & "!R[" & 0 & "]C[" & ズレ - 2 & "]"
Cells(行, 2).FormulaR1C1 = 式
式 = "=+[" & ブック名 & "]" & シート名3 & "!R[" & 0 & "]C[" & ズレ - 3 & "]"
Cells(行, 3).FormulaR1C1 = 式
Next
End Sub
Sub 準備()
'ボタン作成
Range("D10:D11").Select
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 159.75, 158.25, 165.75, 27). _
Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Shadow.Obscured = msoTrue
Selection.ShapeRange.Shadow.Type = msoShadow18
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 11
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 45
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientHorizontal, 2, 1#
Selection.Characters.Text = "スタートボタン"
With Selection.Characters(Start:=1, Length:=7).Font
.Name = "MS Pゴシック"
.FontStyle = "太字"
.Size = 16
.ColorIndex = 7
End With
Selection.HorizontalAlignment = xlCenter
Selection.OnAction = "参照ズレズレ"
Range("D8").Select
End Sub
この上までを貼りつけて下さい。
ブック名、シート名は固定になってます。
事前に上のマクロの先頭部分にある指定を変更しておいて下さい。
今は、"Book2"の"Sheet1""Sheet2""Sheet3"を参照先にしています。
ブック名 = "Book2"
シート名1 = "Sheet1"
シート名2 = "Sheet2"
シート名3 = "Sheet3"
ここを変えてほしい、ここが違うなど
何か不満、要望がありましたら連絡下さい。
できるだけ希望に近いものを作ります。
この回答への補足
こんなに詳しい回答をしていただいてありがとうございます!
感激です!!
・・しかし一つ訂正があります
「4/1:Book1のSheet1のA1~A10をBook2のSheet1のA1~A10にリンク
Book1のSheet2のA1~A10をBook2のSheet1のB1~B10にリンク
Book1のSheet3のA1~A10をBook2のSheet1のC1~C10にリンク
・
・
・
4/2:Book1のSheet1のB1~B10をBOOK2のSheet1のA1~A10にリンク
Book1のSheet2のB1~B10をBOOK2のSheet1のB1~B10にリンク
Book1のSheet3のB1~B10をBOOK2のSheet1のC1~C10にリンク
・
・
・ 」
としましたが、実は
「4/1:Book1のSheet1のA1~A10をBook2のSheet1のA1~A10にリンク
Book1のSheet2のA1~A10をBook2のSheet1のB1~B10にリンク
Book1のSheet3のA1~A10をBook2のSheet1のC1~C10にリンク
・
・
・
4/2:Book1のSheet1のB1~B10をBOOK2のSheet2のA1~A10にリンク
Book1のSheet2のB1~B10をBOOK2のSheet2のB1~B10にリンク Book1のSheet3のB1~B10をBOOK2のSheet2のC1~C10にリンク
・
・
・ 」
でした
それでも上のマクロは変わらないのでしょうか??
実は他のことで忙しくまだ試せていません
ただ、お礼と訂正をお知らせしようと思いました
明日実際に使用してみますので、またその後お返事します
お礼が遅れてしまい、申し訳ありませんでした
教えていただいたマクロの応用で少し時間がかかってしまいましたが、
一発で変更することができました
本当にどうもありがとうございました
また質問させていただく際はよろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの複数人での参照について 2 2022/06/01 13:38
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- Excel(エクセル) If関数に関する質問です。(再掲) 3 2022/10/01 20:51
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) EXCEL 行固定列移動 3 2022/04/04 09:27
- Visual Basic(VBA) VBAで自動集計(特定セルコピー月ごとに値貼り付け)したい。 6 2023/06/25 11:37
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報