![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
Excel2000でしたら、
1.[挿入]-[名前]-[定義] から、名前を2つ定義します。
・名前:PPP 参照範囲:=GET.WORKBOOK(1)
・名前:QQQ 参照範囲:=GET.DOCUMENT(88)
2.A1 に =SUBSTITUTE(INDEX(PPP,ROW()),"["&QQQ&"]","") と入力します。
3.A1 を下方にドラッグコピーすると、シート名が一覧で表示されます。
例えば3枚目のシート名のみを取得する場合は、任意のセルに
=SUBSTITUTE(INDEX(PPP,3),"["&QQQ&"]","") と入力します。
※マクロ関数というものですが、最近のバージョンにこれが付帯されているのかどうか
わかりませんが。 ^_^;
この回答への補足
回答ありがとうございます。
まさに、これです!
マクロを使っているのに、セキュリティ警告もでませんし、レベル高でも普通に使えるので素敵です。
ただ、ヘルプに載ってないのは・・・。
マクロ関数に関する良い資料などご存知でしたら教えていただけませんか?
No.5
- 回答日時:
#4です。
次のサイトなどには
「Excel 4.0 マクロ がいつまでサポートされるかわからず、いつ利用できなくなっても
おかしくないものなので、これをわざわざ勉強する価値はあまりない。」
のように書かれています。
使ってみると、とても便利なものなのですが......。
http://www.relief.jp/itnote/archives/001368.php
Excel 4.0 マクロ のヘルプファイルは次からダウンロードできますが、英語です。
http://www.microsoft.com/downloads/details.aspx? …
インストールすると、Office以下のフォルダ内に Xlmacro.chm というファイルが書き込ま
れますので、検索してください。
Office97には、前のバージョンのマクロ関数の日本語ヘルプ(Xlmacr8.hlp)が付いていま
したが、2000以降には付いてないようですね。
Xlmacro.chm というファイルは Excel2000にも元々あるのですが、これには「マクロ関数
のヘルプファイルがインストールされていない」とだけ書いてあります。
この回答への補足
その後、Office2003で試しました。
その結果、動きはしましたが、マクロの警告が出てしまいました。
(2000では、出なかったのですが・・・。)
結局、VBAであろうと、マクロ関数であろうとセキュリティ警告が出てしまったので、
場合によってVBAとマクロ関数の使いやすい方でやらせていただきます。
ありがとうございました。
そういうことだったんですか・・・。
私も、2000なのですが、新しいヴァージョンのものは怪しげですねぇ。
とりあえず、2003で動くことを確認して、問題があるようだったら度合いによって、この機能を使うか使わないか判断させていただこうと思います。
いろいろ、ありがとうございました。
No.3
- 回答日時:
シートを指定するのに
Activeシート
Index
名前
の方法があると思うが、名前は、名前がわからないので問題にするので自己矛盾。
Activeシートに当たるのがCELL関数。
シートのIndex番号を指定する関数も無いと思う。
なぜVBAにこだわるのといいたい。関数だって普通は内部で何をしているか知っている人は無い(MSから公表されていない)わけで、よっぽど難しいVBAは別として、下記ユーザー関数で1行で表せるし、中身も
判りやすい。
CELL関数も、関数のなかで異色の、互換性のためのもの。
標準モジュールに下記を貼り付け
Function fn(n)
fn = Sheets(n).Name
End Function
nはシートタブの左からの順番の数字を入れる。
シートでは
=fn(4)
のように入れる。
この回答への補足
回答ありがとうございます。
VBAのSheetsコレクションは知っていて、これで実現できるのも知っているのですが。
> なぜVBAにこだわるのといいたい。
・セキュリティ警告を嫌う風潮があるので、できる限り避けたい。
・セキュリティレベルを高にしている人がいるので、VBAを禁止にしていることに気づかず問題になる可能性がある。
(最近のは、デフォルトはレベル高ですし・・・。)
という2点です。
教えていただいた、VBAを利用させて頂きます。
No.2
- 回答日時:
すいません、他のワークシート名ですか。
単にセルに表示させたいだけなら
=CELL("filename",Sheet2!A1)
とか…
シート名を取得する目的は何でしょうか?
この回答への補足
あ、既に返答が来てましたね。
すみません、気づきませんでした。
> =CELL("filename",Sheet2!A1)
これですと、"Sheet2"と自分で入力しているので・・・。
> シート名を取得する目的は何でしょうか?
シート名が変更されても、値を取得したいのです。
また、他のフォーマットを合わせたブックに適用するときもそのような仕組みであれば容易に貼り付けられるためです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 別ブックの列同士の値が一致したときの処理 1 2022/09/03 08:27
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) エクセルVBA 2 2022/04/27 13:29
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
シート番号からシート名を取得する
Excel(エクセル)
-
エクセルで他のシートを動的に参照する(シート名だけ)
Excel(エクセル)
-
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
-
4
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
EXCEL関数でシート名が変わる可能性があるシートのデータを表示させたい
その他(ソフトウェア)
-
7
【Excel関数】UNIQUE関数で0"を返さない方法?"
Excel(エクセル)
-
8
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
9
エクセルで、シートの名前を変えても式にエラーが出ないようにしたい
Excel(エクセル)
-
10
エクセルでエラーが出て困っています。
Excel(エクセル)
-
11
エクセルで複数シートのセルに同じ名前の定義を
Excel(エクセル)
-
12
ヘッダー
Excel(エクセル)
-
13
シート名ではなく、相対位置で指定したい。
Excel(エクセル)
-
14
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
15
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
16
Excelの入力規則で2列表示したい
Excel(エクセル)
-
17
EXCELでコピーしたグラフのデータ範囲変更について
Excel(エクセル)
-
18
特定のシートのみ再計算させない方法は?
Excel(エクセル)
-
19
シート参照で変数を使いたい(EXCEL)
Excel(エクセル)
-
20
Excelでエラー(#N/Aなど)値を含む範囲で最大値や最小値をもとめ
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel関数-文字列で自動作成さ...
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
Excelで50個のセルに同じ文字を...
-
スプレッドシート、Excelでの数...
-
Microsoft Officeの中古は信用...
-
エクセルで不等号記号(≠)が上に...
-
スプレッドシートで使う数式を...
-
エクセルでの特別な文字を上に...
-
エクセル日付 文字列の関数がエ...
-
A列とB列を参照してC列に連番を...
-
エクセルVBA、別ブックへ転記す...
-
各ページの1番上の表示について
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
pdfの表をexcelにはりつけて計...
-
Excelのif関数で文字が見えなく...
-
【マクロ】アクティブセルにブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報