EXCELのファイルが開かなくなりました。アイコンをダブルクリックすると、「このプログラムは不正な処理・・・」とエラーがでて、閉じるボタンを押すしかありません。
クイックビューアでは、見ることが出来ます。
ファイル名をaaa.xlsにしいて、
他のパソコンにコピーしても同じようにエラーがでます。
IEにドラッグアンドドロップしても、「ページが表示できません」と出ます。
ファイル名やEXCEL自体の問題ではなく、ファイルが壊れているのだと思います。
しかし、データ量が多いので、あきらめられません。
なんとか、データを移すことはできないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんにちは



 以下のページがご参考になるのでは?

[XL2000] ファイルにアクセスできなくなった場合の原因と対策
http://www.microsoft.com/JAPAN/support/kb/articl …

[XL2000] フロッピーディスクに保管されているファイルを扱う際の注意点
http://www.microsoft.com/JAPAN/support/kb/articl …

Microsoft Excel Viewer 97
http://officeupdate.microsoft.com/japan/download …

XL: Summary of Methods to Recover Data from Corrupted Files
http://support.microsoft.com/support/kb/articles …

XL2000: Methods for Recovering Data from Damaged Workbooks
http://support.microsoft.com/support/kb/articles …

参考URL:http://www2.odn.ne.jp/excel/
    • good
    • 0

以前EXCEL97で読めなくなったファイルが


EXCEL2000なら読むことが可能だったことがあります
試してみてはどうですか?
    • good
    • 0

データだけならAccessからインポートしてみるのは


どうでしょうか?
ファイルの壊れ方にもよりますが、
うまくすれば、データだけなら読めるかもしれません。
(当然、自信なし)
    • good
    • 0

makomamaさんの推測の通りファイルが破損していると思います。

しかしついこの前同様のケースで社内のユーザーに頼まれたケースではクイックビューアで見ることすら出来ませんでした。それに比べればまだmakomamaさんのファイルの方が破損状況は軽いと思われます。参考URLにマイクロソフトのFAQを載せておきますので、そちらに載っている対処法を試して見て下さい。
あとこのサイトも色々と参考になりますよ。
エクセルの学校⇒http://excel.internet.ne.jp/
※ファイルのバックアップは常々怠らないように注意しましょうね!

参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …
    • good
    • 0

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

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

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

Q(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

Excel2007でIFERROR関数などを使っていました
しかし、以前のExcelバージョンだと使えないようです。
そこで、どの関数がどのExcelバージョンから使用可能か?
というリストのようなものを掲載しているサイトはありますか?

Aベストアンサー

下記ページで2007で追加された関数が解ります。

Excel(エクセル)基本講座:Excel(エクセル)関数一覧表
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html

QExcel2007のファイル名をxlsxからxlsに変更しても開けられません

こんにちは。
自分のEXCELが2000なので、メール添付された2007のExcel fileの名前をxlsに変更しました。

あけようとすると
「ファイル形式が正しくありません」というメッセージがでてシートが表示されません。

何か良い方法はないでしょうか?よろしくお願いします。

Aベストアンサー

変更しちゃだめですよ^^;
一番手っ取り早いのは送信者に「office2000でも見られる形式で送ってください」ということです。
それはムリ!ということであれば以下のリンク先の方法で解決できるかと思います。
http://gigazine.net/index.php?/news/comments/20070904_office2007_file_open/

QExcel関数のようなものはありますか?

こんにちは。まだプログラミングをほとんどしたことがないのでわからないことがあります。

現在Excelを使っていますがExcel関数は非常に使いやすいく重宝しています。
Excel関数は300種類ほどあるそうですが、C++やVB、C#、JAVAなどのプログラムにもExcel関数のようなものが
あらかじめ用意されているのでしょうか?
もしExcel関数の中で使いたいものがあり、そういう関数がソフト側で用意されてない場合は自作するしかないのでしょうか?

Aベストアンサー

office2003以降かつ.Netで作成という話しなら、事実上「ある」に等しいかもしれませんね。

.Netの場合、ライブラリとして読み込む側の言語についてあまり意識する必要はありません。(JAVAで本体のプログラムという訳にはいかないが)
とはいえ、プログラム経験が浅いのでしたら、VB.NETでやるというのが吉であると思います。(関数のみならず、マクロも利用できますのでね/office2003以降)

# 開発環境を安くならC#となります(Borland C#Builderなら無料)

参考URL:https://mypage.borland.co.jp/mypage/index.html?ret_to_semi_list=1&page_act=LI_REG

Q「○○.xls は Microsoft Excel 5.0/95 ブックです。最新のファイル形式に更新しますか?」

Excel 2000 で作成した文書を今 Excel 2003 で編集したところです。上書き保存をしようとしたら

「○○.xls は Microsoft Excel 5.0/95 ブックです。最新のファイル形式に更新しますか?」「更新する場合は[はい]をクリックします」

という画面が現れました。もし「はい」を選択したら、Excel 2000 で見られなくなるのでしょうか?

Aベストアンサー

こんばんは。

私は、Excel2000 とExcel 2003 とをファイルをともに共用していますが、

Excel 97-2003 は、関数などで一部違いますので、数式自体に自動変換が必要な場合がありますが、Excel 2000 と Excel 2003 とは、フォーマット的には同じBiff8 ですから、一応、数式以外には問題ないはずです。つまり、Excel 97以降、Excel 2003 内のバージョンで作ったものは、基本的にはファイル構造としての互換性は保たれています。

Excel Ver.5 に戻るという場合なら、

1)  Microsoft Excel 97-Excel2003 および5.0/95 ブック(*.xls)
  または、
2)  Microsoft Excel 5.0/95ブック(*.xls)
  
という保存形式が必要ですが、基本的には、Biff5 以降は形式的には同じもので、特に97移行は、Biff8 になっています。Excel 2000 とExcel 2003 とは同じフォーマット形式です。

Excelでは、Excel 2003 で保存したものが、Excel 2000 で見れなくなるなんていうことはないはずですね。以下で、実験してみました。

ここC++ のコードが出ています。
http://support.microsoft.com/kb/178605/ja
Microsoft Excel ブックのバージョンを確認する方法
(たぶん、メッセージの内容は、Excel File構造の形式のバージョンで、Excelの直接のVersionが出てくるわけではありません。)
--------------------------------------------------------
今、Excel 2000 で作って、上記形式の2種類のファイルを作って、コンパイルして確認してみました。

 1) は、Ver.8
 2) は、Ver.7

となります。

その 2) のファイルを、
Excel 2003 で、再度、いくつかの数式を加え、
「Microsoft Excel 5.0/95 ブックです。最新のExcelのファイル形式に更新しますか?」
というメッセージを出して、
「はい」で、上書き保存します。

それを、今度は、Excel 2000 で、開いて処理し、終了をしてみましたが、何の支障もありません。

一般の方は、これ以上の知識は必要ありませんが、このあたりの資料は、OpenOffice.org ではかなり出てくるはずです。

こんばんは。

私は、Excel2000 とExcel 2003 とをファイルをともに共用していますが、

Excel 97-2003 は、関数などで一部違いますので、数式自体に自動変換が必要な場合がありますが、Excel 2000 と Excel 2003 とは、フォーマット的には同じBiff8 ですから、一応、数式以外には問題ないはずです。つまり、Excel 97以降、Excel 2003 内のバージョンで作ったものは、基本的にはファイル構造としての互換性は保たれています。

Excel Ver.5 に戻るという場合なら、

1)  Microsoft Excel 97-Excel2003 ...続きを読む

QExcel関数について

Excel関数についての質問です。


Excel関数で、実際の仕事上でよく使う関数、ベスト5を教えてください。

また、覚えやすいコツなどがありましたら、教えて頂きたいです。

よろしくお願いします。

Aベストアンサー

うーん…仕事でどういったものを使いたいかによりますが…基本として、

SUM (サム)
指定範囲の合計を出します。
合計はサム!みたいにして覚えました。

--------------------------
IF
if文は結構使いました。
if(A1="","○","×")  ⇒ もし、A1が空なら,○を入力、違うなら×を入力
if(A1="","○",IF(A1="?","△","×")) ⇒ もし、A1が空だったら、○を入力、
                         それ以外で、?が入っていたら△を入力、それ以外は×を入力

とか、色々使えます^^
他の関数とも組み合わせて、とても便利です。

-------------------------
COUNTIF(カウントイフ)
条件にあったものの個数を数えます。

COUNTIF(A1:A5,"正解") 正解と書かれている個数を数えます

--------------------
TODAY
今日の日付が表示されます。
---------------------


他にも、平均を出すものや
便利なものはたくさんあります。
その都度、やりたいことを検索して
使っていくのがベストかな?と思います。
Excelの、挿入⇒関数のところで、
検索もできたはずです。


参考リンク
http://pc.nikkeibp.co.jp/pc21/tech/excel36/
http://matome.naver.jp/odai/2135607317537215601
http://www.enjoy-web-jp.com/jp/excel/excel00.html


また、セルの書式設定のユーザー定義はとても便利です。
書き方を勉強しておくと役立つかもしれません。

以上、参考まで

うーん…仕事でどういったものを使いたいかによりますが…基本として、

SUM (サム)
指定範囲の合計を出します。
合計はサム!みたいにして覚えました。

--------------------------
IF
if文は結構使いました。
if(A1="","○","×")  ⇒ もし、A1が空なら,○を入力、違うなら×を入力
if(A1="","○",IF(A1="?","△","×")) ⇒ もし、A1が空だったら、○を入力、
                         それ以外で、?が入っていたら△を入力、それ以外は×を入力

とか、色々使えます^^
他の関数とも組...続きを読む

Qエクセルでドラッグアンドドロップで読み取り専用として開く

Excel2000です。

エクスプローラ上にエクセルのファイル(.xls)が表示されているとします。
そのファイルをExcel上にドラッグアンドドロップしますと、ファイルが開かれます。

そのときに、エクスプローラ上のそのファイルのプロパティで「読み取り専用」になっているか否かにかかわらず、読み取り専用として開くにはどうすればよいですか?

なお、エクセルのメニューの ファイル―開く で出てくるダイアログボックス(「ファイルを開く」)から、読み取り専用として開く方法はわかっています。
その「読み取り専用として開く」と同じことを、ドラッグアンドドロップだけでしたいのです。

OSはWindows98SEです。

Aベストアンサー

今、Win98マシンを探して検証してみました。
どうやら、Win98ではできないことがわかりました。
DOSプロンプトで同じことを行うと、
 C:\WINDOWS>C:\Program Files\Microsoft Office\Office\EXCEL.EXE /r excelファイル名
でうまく行くので、Win98のショートカット内の解釈の仕方が、Win98上とは異なるようです(OSのバグ?)。本来は、Win2000のように「読み取り専用」で起動します。

ですから、今回の方法はWin98には適用できないことから、他の方法を考える必要がありますね。
起動時にオプション設定できないと言うことは、起動後に書き込めない設定を行うか、予め書き込みパスワードを設定して、変更する場合に解除するなどしかないようです。

ご期待に添えなく、すみませんでした。m(_._)m

QEXCEL ゴールシークの関数?

EXCEL ゴールシークの関数?
ゴールシークを画面操作をしなくて ゴールシーク機能を持つ 関数はありませんか?
無ければ 複合関数は? VBを使わないでEXCEL関数だけで 求める方法を探しています。

Aベストアンサー

こんにちは。

例えば、財務関数のNPVなどがありますが、ゴールシークの代わりに、関数だけで、オプションの循環参照計算があります。そうでなければ、基本的な話ですが、微分を使うか、もしくは、ミスが出やすいのですが、オートフィルで、目的の値を探すか、いずれかの方法があると思います。

ただ、VBというか、マクロのことだと思いますが、そういう区分けはあまり意味のないことだと思います。それは、アドインもピボットも、コマンドの3分の1程度は、動的なプログラムを使っているからです。また、分析ツールは完全にExcelの古いマクロです。

私は、マクロを中心とする回答者のひとりです。何かを使わないという条件付き質問は、学校のテストやクイズやお遊びとしてはありえるとしても、ゴールシークというものは、論理的な計算ではなく、反復する時系列な計算です。それは、基本的にマクロにほかなりません。ただし、私たちが考えるよりも、遥かに速い処理です。それを論理的な計算をするというなら、その求める具体的な質問がなければ、話は進みません。解答を求めたいなら、方法論は何でもアリではないかと思います。そうでないなら、純粋に数式で計算させるMathematica のようなもののほうが良いと思います。

こんにちは。

例えば、財務関数のNPVなどがありますが、ゴールシークの代わりに、関数だけで、オプションの循環参照計算があります。そうでなければ、基本的な話ですが、微分を使うか、もしくは、ミスが出やすいのですが、オートフィルで、目的の値を探すか、いずれかの方法があると思います。

ただ、VBというか、マクロのことだと思いますが、そういう区分けはあまり意味のないことだと思います。それは、アドインもピボットも、コマンドの3分の1程度は、動的なプログラムを使っているからです。また、分...続きを読む

Qエクセルでデータ.xlsから1行毎に元シート.xlsへコピーし1行毎に多数ファイルを作成したい。

現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。
手が疲れて困っています。
エクセルマクロで簡単にできる方法を教えてください。

以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、
次の行から1行ごとのデータがあります。

データ.xls
A B C D E F
1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置
2 test 123 456 789 012 345
3 test2 456 789 012 345 678
4 test 456 123 789 012 345
...

元シート.xlsは固定文字や罫線等があります。

元シート.xls
A B C D
1 ------------------------------
2
3
4 abcdefg 9876543
5 ------------------------------

元シート.xlsに、データ.xlsの1行ごとのデータを、指定したセルに入れ、
A列の名前で多数のファイルを作成したいのです。
ただし、A列で同じファイル名がある時は、ファイル名の後に_2等を付けて保存したいのです。

以下のような多数のファイルを自動的に作成する方法を教えて下さい。
宜しくお願い致します。

test.xls
------------------------------
test 789 012
123 456 345
abcdefg 9876543
------------------------------

test2.xls
------------------------------
test2 012 345
456 789 678
abcdefg 9876543
------------------------------

test_2.xls
------------------------------
test2 789 012
456 123 345
abcdefg 9876543
------------------------------
...

現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。
手が疲れて困っています。
エクセルマクロで簡単にできる方法を教えてください。

以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、
次の行から1行ごとのデータがあります。

データ.xls
A B C D E F
1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置
2 test 123 456 789 012 345
3 test2 456 789 012 345 678
4 test 456 123 789 012 345
...

元シート...続きを読む

Aベストアンサー

丸投げに当るので、原型のみです。
上の例のtest_2.xlsのA1セルはtestが正しいと解釈して作成しています。
その他不明な部分は適当に仮定しています。(原型なので問題ないでしょう。)

・データの整合性等のチェックは一切省いていますので、実際の使用では各種のチェックを入れておかないと即エラーになります。(データが想定と違う場合)
・変数の宣言は省略して名前のみにしてありますが、実際はタイプを指定しておいたほうが良いでしょう。
・元シート.xlsおよび作成されるファイルは同じフォルダにあるものとしています。
・データ.xlsからのコピーはコピーメソッドで行っていますので、書式などもそのままコピーされます。
 (もし式が入力されている場合は、参照がおかしくなることがあり得ます)
・元データのデータ有無に関わらず、データシートのデータを上書きするようにしています。

データ.xlsがアクティブな状態で実行されるものと仮定しています。
(シート名、ブック名などは仮設定です)
適宜、修正してご使用ください。

Sub test()
Dim dst_name, mbk_name, mst_name, bk_name, b_name
Dim dst, mbk, mst
Dim ad, p, i, j

p = ThisWorkbook.Path & "\"  '// 対象となるフォルダのパス+"\"
dst_name = "データシート"    '// 対象データのあるデータ.xlsのシート名
mbk_name = "元シート.xls"    '// 元シート.xlsのファイル名
mst_name = "元シート"      '// 元シート.xlsの対象とすべきシート名

Set dst = Sheets(dst_name)
For i = 2 To dst.Cells(dst.Rows.Count, 1).End(xlUp).Row

'// 作成するファイル名をチェック
 b_name = dst.Cells(i, 1)
 If b_name <> "" Then
  j = 1
  bk_name = p & b_name & ".xls"
  While Dir(bk_name) <> ""
   j = j + 1
   bk_name = p & b_name & "_" & Format(j, "#") & ".xls"
  Wend

'// データをコピー、保存
  Workbooks.Open p & mbk_name
  Set mbk = ActiveWorkbook
  Set mst = mbk.Sheets(mst_name)
  For j = 1 To dst.Cells(i, dst.Columns.Count).End(xlToLeft).Column
   dst.Cells(i, j).Copy (mst.Range(dst.Cells(1, j).Text))
  Next j
  mbk.SaveAs (bk_name)
  mbk.Close
 End If
Next i
End Sub

丸投げに当るので、原型のみです。
上の例のtest_2.xlsのA1セルはtestが正しいと解釈して作成しています。
その他不明な部分は適当に仮定しています。(原型なので問題ないでしょう。)

・データの整合性等のチェックは一切省いていますので、実際の使用では各種のチェックを入れておかないと即エラーになります。(データが想定と違う場合)
・変数の宣言は省略して名前のみにしてありますが、実際はタイプを指定しておいたほうが良いでしょう。
・元シート.xlsおよび作成されるファイルは同じフォルダに...続きを読む

Qexcelのピボット関数

excelのピボット関数はどんな関数ですか?

Aベストアンサー

私自身は「ピボット関数」なる言葉を聞いたことがないけど、貴方はそれを何処で知ったのですか?
ひょっとして、[データベース関数]の中の =GETPIVOTDATA()関数のことでしょうか?
Excel のヘルプ文をお読みになったら如何でしょ。
>ピボットテーブル レポートに格納されているデータを返します。
>GETPIVOTDATA 関数を使用すると、ピボットテーブル レポートに
>表示されている集計データを取得することができます。
で始まる説明があります。
それを読んでから不明なところを質問されることをお奨めします。
何?隅から隅まで、チンプンカンプン?

Qエクセルで同じファイル名のファイルを別のファイル名で保存したい

エクセルで、社員に同じテンプレートのファイルに入力してもらい、それを集計するつもりです。集まったファイルは同じファイル名なので、別のファイル名としてフォルダに保存したいのですが、簡単にできる方法やフリーソフトはないでしょうか。

Aベストアンサー

メールの添付Book.xls(テンプレ)を開くと 集計Bookにシートを移動
準備
1.集計用のBookを作成(新規  集計.xls など)
2.Tool>マクロ>VisualBasicエディターを起動
3.ThisWorkBookに下記マクロを貼り付け
調整
1.テンプレ名 = "*" を実際のテンプレ名にする。
   *はワイルドカード 例 "*.xls" "*日報*.xls" 
2. Set 名前のセル = Workbooks(1).Sheets(2).Range("A1")の
  セルをテンプレの送信者の名前のあるセルにする。
       例  ・・・.Range("B5")など
3.テンプレのシートが複数なら・・・別途
  
使いかた
1.集計用のBook(マクロ入り)を開く
2.メールの添付 テンプレ.xls を開く。

結果 自動で
 エクセルで開いたときに シート(名前+日付)として テンプレを取り込む。
 開いたテンプレは自動終了するので
 同じ名前のBook、テンプレは同時に開くことを回避。
 

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
テンプレ名 = "*" '*テンプラ.xls" '実際に併せて設定
If Workbooks(2).Name Like テンプレ名 Then

Application.EnableEvents = False
Application.ScreenUpdating = False
Application.DisplayAlerts = False

On Error Resume Next
'メールの添付Book(テンプレ)を開くと 集計Bookにシートを移動
Workbooks(2).Sheets(1).Copy after:=Workbooks(1).Sheets(1)
Workbooks(2).Close
'送信者識別処理、重複防止処理、シート名変更処理
Set 名前のセル = Workbooks(1).Sheets(2).Range("A1")
提出者名 = 名前のセル.Value '提出者名
シート名 = 提出者名 & Format(Now, "yymmdd") '名前+日付
Err = 0
If Workbooks(1).Sheets(シート名).Name = シート名 Then
'既にこの人のテンプレは読み込み済み:更新しない処理??
If Err = 0 Then Workbooks(1).Sheets(2).Delete
End If

If Err Then
'新しい読み込みシート
Workbooks(1).Sheets(2).Name = シート名
End If

Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.EnableEvents = True

End If

End Sub

メールの添付Book.xls(テンプレ)を開くと 集計Bookにシートを移動
準備
1.集計用のBookを作成(新規  集計.xls など)
2.Tool>マクロ>VisualBasicエディターを起動
3.ThisWorkBookに下記マクロを貼り付け
調整
1.テンプレ名 = "*" を実際のテンプレ名にする。
   *はワイルドカード 例 "*.xls" "*日報*.xls" 
2. Set 名前のセル = Workbooks(1).Sheets(2).Range("A1")の
  セルをテンプレの送信者の名前のあるセルにする。
       例  ・・・.Range("B5")など
3.テンプレのシ...続きを読む


人気Q&Aランキング

おすすめ情報