エクセルで個人用マクロブックを利用していましたが、今日になって急に、VBEのプロジェクトエクスプローラーに、personal.xlsが表示されなくなってしまいました。
ファイル自体が存在してないようです。削除した覚えはないのですが。復旧は不可能でしょうか?
ウィルスチェックは正常でした。こんなふうに突然消えてしまうことは、よくあることなんでしょうか。

A 回答 (1件)

わたしもこの前突然消えました。

OSがXPでEXCEL2002でしたが、最初理由がわからなかったのでびっくりしましたけどね。
まず確認してほしいのですが、OSがXPであれば
「c:\Document and Settings\ユーザー名\Apprication Data\Microsoft\Excel\XlStart」フォルダの中に「personal.xls」があるかどうか確認してください。
personal.xlsが存在している場合には、Excelを立ち上げてヘルプメニューのバージョン情報を選択し、使用できないアイテムボタンをクリックすると、personalアドインが使用できない設定になっていると思いますので、使用できるようにすれば私の場合はできました。
    • good
    • 1
この回答へのお礼

ありがとうございました。
結論から言いますと、PCを再起動したら、personal.xlsが復活しました。再起動前はファイル自体が存在してなかったんですが。
不思議なことがあるものです。

お礼日時:2003/09/18 03:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qexcelでpersonal.xlsを常に開く方法を教えてください。

excelでpersonal.xlsを常に開く方法を教えてください。

エクセルを開いたときにlersonal.xlsを自動的に開くようにしたいのですが、
何か方法があるでしょうか?
現状はマクロを使うときに
マイコンピューター→
C→
document and setting→
applicationdata→
microsoft→
excel→
exstart→
personal.xls
と開いています。
もしご存知の方がいらっしゃいましたら、教えてください。
よろしくお願いします。

Aベストアンサー

personal.xlsは、
Microsoft Office\OFFICE11¥XLSTART
に置いていたら常に開きます。

QExcelマクロの勉強を始めました マクロの記録で保存先を個人用マクロ

Excelマクロの勉強を始めました マクロの記録で保存先を個人用マクロブックにしようとすると ”起動フォルダにある個人用マクロブックは記録のために開かれた状態でなければなりません”とのメッセージです
ところが表示タブのウィンドウの再表示をクリックしようにもグレイになっていてクリックできません

さっぱり訳が分からずお手上げです どういったことが考えられるでしょうか
何かヒントでもよろしくお願いします
なお WindowsXP オフィス2007を使っています

Aベストアンサー

「使用できないアイテム」に設定されているのかも知れません。
以下のような操作を試してみてください。

Microsoft Officeボタンをクリックし、「Excel のオプション」をクリック
左側のウィンドウで「アドイン」をクリック
右側のウィンドウの「管理」ボックスの一覧で「使用できないアイテム」を選択して、「設定」をクリック
一覧に表示されている「個人用マクロブック(personal.xlsb)」をクリックし、「有効にする」をクリック

QExcelのマクロの復元

マクロ名がマクロ(1)、マクロ(2)、マクロ(3)のマクロを登録し、(1)-(2)-(3)と順次実行するマクロ(4)を登録して使っていました。この時、マクロ(1)~(3)は削除していませんでした。先程、マクロ(4)を変更しようと思い、誤ってマクロ(4)を削除してしまいました。すると、マクロ(1)~(3)も表示されなくなりました。マクロ(1)~(3)が面倒な作業なので復元したいのですが、どなたか宜しくお願いします。

Aベストアンサー

エクセルの「ツール」「マクロ」からマクロを削除したのであれば、1つずつしか削除できないはずなので、通常はすべてのマクロが一度に無くなってしまうことは考えられません。
そこで、「落ち着いてもう一度確認してみてください」と回答したのですが、削除の方法が違うのでしょうか?

勘違いしてマクロの無い別のファイルを上書き保存したとか、あるいはまったく別のファイルを開いているということは考えられないでしょうか。

QExcel2013でのPersonal.xls

先月からOffice2013を使い始めました。

Office2013からExcelもシングルドキュメントインタフェースに変更され、
「×」で閉じたくないファイルを閉じる必要がなくなり、使いやすくなりました。

しかし、いままで使用していたPersonal.xlsも別ウィンドウで開いてしまうため、
一つのファイルを起動しただけでもウィンドウが二つ開き
二回閉じないとExcelが終了できなくなってしまいました。

Personal.xlsを必要な時だけ起動すればいいのですが、
正直めんどくさいです。

Excel2013をMDIに変更できればいいのですが、
調べてみてもそれはできないみたいです。
(私の思い込みかもしれませんが・・・)

解決方法があれば、ご教授ください。

Aベストアンサー

こんにちは。
#1の回答者です。

>>また、PERSONAL.XLSBは、本来非表示のはずです。
>シートが非表示のブックが別に起動しています。
今のところ、PCには、Office 2013はインストールしていないので、おっしゃる内容の問題を理解していません。なぜなら、Excelを起動すれば、非表示のブックの[PERSONAL.XLSB]というよりも、XLSTARTフォルダにあるものは、すべて起動するのは仕様だからです。

一度、試しに、セーブモードで、Excelを立ち上げてみたらいかがでしょうか?
http://support.microsoft.com/kb/881075/ja
[Ctrl キーを押しながら Office セーフ モードで起動するには]

>XLSB形式で新しく保存しましたが、症状は変わりませんでした。
症状というのは、「終了時に、同時に終了しない」で、PERSONAL.XLSBが開いたまま残るということでしょうか?

Microsoft.Answers 辺りでは、「非表示」のサポートで終わっていたので、前回は、そのように書きました。

ただ、私個人で行う際の「PERSONAL.XLS(B)」の処置方法を書いておきます。

ずいぶん昔から、何度か、この件でサポートしている中でトラブルを聞いていますので、「PERSONAL.XLS(B)」は手順に従って、必ず、最初から作り直します。

このファイルは、同じバージョンでも、そのままファイルを流用をしないというのが原則です。
今、不具合が出ているなら、なおさらだと思います。

前のPERSONAL.XLS のバックアップを取って、XLSTARTフォルダの中を空にしておいてから、

Excelを起動し、開発等から、個人用マクロブックを対象に、ダミーのマクロを作って、「PERSONAL.XLSB」ファイルを生成させます。そして、そのモジュールの中のダミー・マクロを消してから、本当のプロシージャやユーザー定義関数を新しいバージョンで不具合はないか確認しながら入れます。

個人用[マクロ]ブックと言いながら、基本的な環境にも影響することがあるから注意する必要があります。

こんにちは。
#1の回答者です。

>>また、PERSONAL.XLSBは、本来非表示のはずです。
>シートが非表示のブックが別に起動しています。
今のところ、PCには、Office 2013はインストールしていないので、おっしゃる内容の問題を理解していません。なぜなら、Excelを起動すれば、非表示のブックの[PERSONAL.XLSB]というよりも、XLSTARTフォルダにあるものは、すべて起動するのは仕様だからです。

一度、試しに、セーブモードで、Excelを立ち上げてみたらいかがでしょうか?
http://support.microsoft.com/kb/881075/j...続きを読む

QExcel2003 個人用マクロブックがなくなりました

Excel2003を使用しています。
個人用マクロブックにいくつかマクロが登録してあります。あるとき急に、Excelを起動してもPersonal.xlsが立ち上がらなくなりました。そこで、保存先と思われるApplicationData\\Microsoft\\Excel\\XLSTART\\
の中を確認したのですが、Personal.xlsが見当たりません。個人用マクロブックはなくなってしまったのでしょうか?復活できる方法はありませんでしょうか?

Aベストアンサー

Excelのヘルプで、「バージョン情報」から「使用できないアイテム」を確認してください。
そこに、「PERSONAL.XLS」があれば、選択して「有効にする」ボタンをクリックしてください。
操作終了後、Excelを再起動すれば、マクロが復活していないでしょうか?

PERSONAL.XLSは、隠しファイルだったと思います。
Windows XPの場合ですが、
エクスプローラのツールメニューから「フォルダオプション」と進み
「表示」タブの「ファイルとフォルダの表示」で、「すべてのファイルとフォルダを表示する」を選択してください。
上記操作後、「PERSONAL.XLS」が表示されないでしょうか?

あるいは、VBEで確認できないでしょうか?
Excelで、Alt+F11、とキー操作すればVBEが起動します。
プロジェクトエクスプローラウインドウで、VBAProject (PERSONAL.XLS)を見つけてください。

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Q個人用マクロブックにマクロをインポートする方法

エクセル2010でマクロを作成し、Visual Basicの画面でそれをエクスポートして保存すると、Module1.basというような名前のファイルができます。

それを他のPCの個人用マクロブックに入れたいのですが、デフォルトの状態であれば
Visual Basicの画面でプロジェクトエクスプローラを見ても個人用マクロブックの領域が
できておりません。

どのようにすれば、他のPCの個人用マクロブックに保存することが可能なのか、ご教授
願います。

Aベストアンサー

>Visual Basicの画面でプロジェクトエクスプローラを見ても個人用マクロブックの領域ができておりません。

新しいPCでエクセルを起動する
開発タブを表示する
新しいマクロの記録を開始する
記録先は個人用マクロブックを選ぶ
そのまま記録終了する

以上で新しいエクセルに、個人用マクロブック(PERSONAL.XLSB)が最も適切に自動生成されます。
個人用マクロブックを操作した後は、一度エクセルを再起動し、その際に個人用マクロブックの保存を質問されるので必ずはいと答えます。




>どのようにすれば、他のPCの個人用マクロブックに保存することが可能なのか

VBA画面のプロジェクトエクスプローラで「VBAProject(PERSONAL.XLSB)」を右クリック、ファイルのインポートで保存しておいたbasファイルをインポートします

実際にはマクロの文言をコピーしてメモ帳等に貼り付けテキストファイルとして保存し、PERSONAL.XLSBに追加した標準モジュール等にコピー貼り付けで持っていくのでも十分です。

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

QExcel2010 PERSONAL.xlsbの挙動について

Excel2010や2013で、Excelファイルをダブルクリックして開くと「PERSONAL.xlsbは編集のためロックされています」のメッセージがたまに出るのは、なぜなのでしょうか?また逆に、PERSONAL.xlsbに仕込んでおいたマクロを使いたいのに、Excelファイルを開いた時にPERSONAL.xlsbが自動起動してくれていないこともあります。これらの現象が、起きたり起きなかったりで、規則性も掴めず、なんかちょっと困ります。どうしたら、PERSONAL.xlsbが使用中とのメッセージを出されず、かつ毎回自動起動させられるのでしょうか。
念のためですが、この質問は「PERSONAL.xlsbとは何ですか?」という質問ではありません。私はPERSONAL.xlsbについては知っていて、PERSONAL.xlsbの中に自作マクロを沢山書いて使っています。だからこそ、スムーズにPERSONAL.xlsbを使いたいということです。

Aベストアンサー

absolute_spaceさん、こんにちは。

>「PERSONAL.xlsbとは何ですか?」という質問ではありません。
>私はPERSONAL.xlsbについては知っていて、PERSONAL.xlsbの中に自作マクロを沢山書いて使っています。

ちょっと、そういう前置きをされてしまうと、ベテランの方なのでしょうか、私の出る幕ではないかもしれません。

「PERSONAL.xlsbは編集のためロックされています」
これは、Excelが二重起動しているからです。もう片方を閉じれば、問題は解消されます。
二重起動を防ぐ方法もあるでしょうけれども、元の片方は動いています。当然、標準モジュールは、ブックがオートメーション化した場合など、もう片方のExcel の標準モジュール側は呼びだされません。

>Excelファイルを開いた時にPERSONAL.xlsbが自動起動してくれていないこともあります。
これ自体は、上記の問題との兼ね合いだとは思いますが、通常は、標準モジュールの自動起動は、Auto_Open に書くものです。ThisWorkbook側には入れません。

比較的に小さなマクロ・ユーティリティを登録して置くことが多いのです。大きなマクロや数多くある場合は、別途アドインにしてあげます。その代わり、PERSONAL.XLSBは、クラス側から、Application に対してインスタンスを作ったり、マクロ型のショートカットを登録したりしますが、あまり、PERSONAL.XLSBには、マクロなどは入れすぎないことです。起動が遅くなったり、不明のトラブルの原因で起動できなくなったりすることがあります。

ご存知のことでしたら、どうぞ、お見捨てください。

absolute_spaceさん、こんにちは。

>「PERSONAL.xlsbとは何ですか?」という質問ではありません。
>私はPERSONAL.xlsbについては知っていて、PERSONAL.xlsbの中に自作マクロを沢山書いて使っています。

ちょっと、そういう前置きをされてしまうと、ベテランの方なのでしょうか、私の出る幕ではないかもしれません。

「PERSONAL.xlsbは編集のためロックされています」
これは、Excelが二重起動しているからです。もう片方を閉じれば、問題は解消されます。
二重起動を防ぐ方法もあるでしょうけれども、元の片方...続きを読む

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報