
No.3ベストアンサー
- 回答日時:
こんにちは。
=INDIRECT("Sheet"&REPLACE(CELL("filename",A1),1,FIND("eet",CELL("filename",A1))+2,"")-1&"!A1")
このようにして、Indirect 関数を使う方法もありますが、再計算関数ですので、後々、面倒なことになります。ですから、以下のようなマクロを作ってみました。
使い方:
最初に、該当するシートまたは、全部のシートを選択します。
次に、式を入力するセルにセルポインターを置きます。
Alt+F8 で、登録された、FormulaEnterという名前のマクロを探します。
式の中に入るセルの場所を聞いてきますので、それをマウスで選択します。
どのように入るか、例が出てきますので、良ければ、OK を押してください。
全部のシートを選択しても、最初のシートには、式は入力はされません。
マクロの登録
'<標準モジュールがベターですが、どこでもよいです。>
Sub FormulaEnter()
'前のシートを参照して、式を作るマクロ
Dim myAdd As String, ActivecellAdd As String
Dim mySheets As Sheets
Dim ShIndex As Integer
Dim ws As Worksheet
Dim msg As String
Dim myRng As Range
Set mySheets = ActiveWindow.SelectedSheets
ActivecellAdd = ActiveCell.Address(0, 0, 1)
If mySheets.Count = 1 Then MsgBox "複数のシートを選択してください。": Exit Sub
On Error GoTo ErrHandler
Set myRng = Application.InputBox("現在のシートで、参照するセル位置を指定してください。", Type:=8)
myAdd = myRng.Address(0, 0)
If ActiveSheet.Index = 1 Then ShIndex = 2 Else ShIndex = 1
msg = "=" & mySheets(ShIndex).Previous.Name & "!" & myAdd
If MsgBox("例:" & ActivecellAdd & "の位置に、以下のように入力されます。" & vbCrLf & vbCrLf & _
msg & vbCrLf & vbCrLf & "よろしいですか?(Sheet1に該当するシートには入力されません。)", vbOKCancel) = vbOK Then
For Each ws In mySheets
If ws.Index <> 1 Then
ws.Range(ActivecellAdd).FormulaLocal = "=" & ws.Previous.Name & "!" & myAdd
End If
Next ws
End If
ErrHandler:
mySheets(1).Select
Set mySheets = Nothing
End Sub
ご回答有り難う御座いました。
早速実行してみましたところ、、、
私の望んでいたものは、これです!
VBって、いや、Wendy02さますごいですねえ。
感激しました。
またご指導のほど、よろしくお願いします!
No.2
- 回答日時:
こんにちは。
maruru01です。以下のような方法があります。
まずは準備。
メニューの[挿入]→[名前]→[定義]で名前定義のダイアログを表示します。
そこで、
[名前]:適当な名前(仮に「次シート名」とします。)
[参照範囲]:「=INDEX(GET.WORKBOOK(1),GET.DOCUMENT(87)+1)&LEFT(NOW(),0)」
と設定して[OK]します。
そうしたら「1日」のシートのA1に、
=INDIRECT("'"&次シート名&"'!B1")
と入力します。
なお、この時2枚目のシートが何もないとエラーになりますが、構いません。
後は、このシートをコピーして増やせばいいです。
ちなみに、一番後ろ(シートタブが一番右)のシートには当然この数式は入れません。
もし既にシートを作ってある場合は、シートタブで先頭から一番後ろ(右)のシートを除いたシートまでをまとめて選択して、A1に上記の数式を入力します。
なお、シート位置で判断していますので、シート名を変更しても自動的に対応します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
みんなに挑戦してほしい「色彩検定」
これまで多くの方々が受検したが「色彩検定」。その目的や活用法は人それぞれ。今回は、色彩検定に影響を受けた男女3名にインタビュー。
-
EXCELで1ヶ月分の連続した日付をシート名+セルに表示させたい
Excel(エクセル)
-
Excelで同じシートのコピーを一気に複数作りたい
Excel(エクセル)
-
エクセルのシート間で連続した日付データを作りたい
Excel(エクセル)
-
4
エクセルのシート毎に日付
Excel(エクセル)
-
5
シートをたくさんコピーするには?シートを日付順にコピーするには?
Excel(エクセル)
-
6
1ヶ月分の日付を一度に出す方法はありますか?
その他(パソコン・スマホ・電化製品)
-
7
エクセルで前のシートを連続参照したい
Excel(エクセル)
-
8
日付だけを変更して印刷(Excel)
Excel(エクセル)
-
9
エクセルで日付を別のシートに引用したい
Excel(エクセル)
-
10
基本となるシートをコピーした際、シート名を今日の日付にしたい
Excel(エクセル)
-
11
エクセルで前シートを参照して累計金額をだしたい。
Excel(エクセル)
-
12
月が変わったら自動でシートが複製される方法を教えてください。
Visual Basic(VBA)
-
13
エクセルを利用して、日計と累計を毎日作成する方法
Excel(エクセル)
-
14
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
15
シートを追加・名前を次月に変更、前月内容を貼り付け
Excel(エクセル)
-
16
Excelでシートに年月を自動で変更するやり方
Excel(エクセル)
-
17
エクセル 平日のみ連絡印刷
Excel(エクセル)
-
18
【 Excel】シートの見出しに自動で色を付けるには?
Excel(エクセル)
-
19
エクセルVBAで日報自動印刷
Access(アクセス)
-
20
シートを任意の日付で自動で作成したい
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
複数シートの特定の位置に連番...
-
5
別シート参照のセルをシート毎...
-
6
エクセルでシート名を自動入力...
-
7
excelでシート毎の最終更新日を...
-
8
エクセルで「ウィンドウを元の...
-
9
EXCELで同一フォーマットのシー...
-
10
エクセルで複数シートを別のシ...
-
11
シート番号からシート名を取得する
-
12
別シートの最終行に貼り付けす...
-
13
EXCEL:同じセルへどんどん足し...
-
14
エクセルVBAでパスの¥マークに...
-
15
Excelで金銭出納帳。繰越残高を...
-
16
エクセルif関数で、複数のシー...
-
17
EXCELで1ヶ月分の連続した日付...
-
18
エクセル 計算式も入っていない...
-
19
エクセルで前シートを参照して...
-
20
VBAでシートコピー後、シート名...
おすすめ情報
公式facebook
公式twitter