• 締切済み

Excel97のマクロについて

Excel97で動くマクロプログラムがあります。 Ctrl+aでマクロが起動するようになっており、いろいろ動くのですが、Excel2000で起動しないため、起動するように直してほしい、と依頼を受け、Excel2000で開き、Moduleの中身を見てみたのですが、中身が空っぽです。もちろん各シートやThisWorkbookの中も一つ一つ開いて確認しましたが記述が何もありません。(ツール→マクロ→マクロで見てもありません) ただ、シート上に”マクロプログラム”という記述があり、 \A {GOTO}A40~{GOTO}C45~  /WTB {IF CK27=1}/RVCG14..CV14~CG31~ ・・・ といった記述があり、どうもこれがプログラムのようなのですが、どういう仕組みでこのExcelが動いているのかまったくわかりません。 ちなみにExcel97でModuleを見ても中身は空っぽでした。 このマクロプログラムについて何か情報をお持ちの方、教えてください。よろしくお願いいたします。

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.5

>リファレンスなどあるとうれしいのですが エクセル97をお持ちなら、そのヘルプにありますので、参考にしてください。 VBAではうまくサポートされていない機能を必要とする場合、VBAの中で4.0マクロ関数を使う場合もありますので、参考になると思います。 まだ書式はいくつかあると思います。 http://www.amazon.co.jp/exec/obidos/ASIN/4816315772/3w-asin-books-22/250-3518643-3911400

cshoaucmoa
質問者

お礼

書き込みありがとうございます。 ただ、思ったのですが、これはExcel4.0マクロなのでしょうか?その4.0マクロを一度使ってみたのですが、どうも最初に=の記述がないとマクロとみなしてくれないようで、上記のような記述のものはまったく動きませんでした。 私の動かし方が悪かったのでしょうか?確かに4.0マクロならまだ書籍等ありますね。また何かの機会に図書館で見てみたいと思います。 どうもありがとうございました

回答No.4

>リファレンスなどあるとうれしいのです 私は、自称ロータスファン(DOS版のみ)ですので 記念に取っていますが、今となっては入手は無理と思います。 DOSのマクロは、EXCEL97までは動いていましたが EXCEL2000以降では動かなくなったようです。 私のパソコンでは、Lotus1-2-3 2.4Jは未だ現役で 生きています。

cshoaucmoa
質問者

お礼

お礼が遅くなり申し訳ありません。 >私は、自称ロータスファン(DOS版のみ)ですので そうなんですねー。今となっては貴重な存在ですね。 私がLotusを触っていたとき、まだ学生で、表計算ソフトのニーズのない世界だったので”なんじゃこりゃ?”って感じでした。今となってはもう少し勉強しておけばよかったなぁって感じです。 どうもありがとうございました。

回答No.3

これは、Lotus1-2-3(2.XJ)DOS版のマクロです。 エクセルでも互換がありましたので動きます。 プログラムの内容は、 セルA40に飛べ セルC45に飛べ もし、セルCK27=1だったら セルCG14~CV14をCG31に複写せよ です。

cshoaucmoa
質問者

お礼

Lotusですか! 意外な答えでびっくりしています。どうもDOSっぽい記述だなぁとは思ったのですが(ってDOSもあまり詳しくないのですが(~_~;)) 上記例に示した以外にもその他いろんな関数(?)を使っているみたいで、できたらリファレンスなどあるとうれしいのですが、今となっては難しいでしょうか?もしよろしければ追加情報としてそのあたりを教えていただけませんか? よろしくお願いいたします。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

>ただ、シート上に”マクロプログラム”という記述があり、 シート見出しがMacro1のようならExcel4.0マクロシートでしょうね。 現在のExcelでもシート見出しを右クリックして、「挿入」のダイアログから作成はできるようですが... 下記のURLは参考になるでしょうか? 「Excel 2000 でマクロを実行するときに "このプロジェクトのマクロは無効に設定されています" というエラー メッセージが表示される」 http://support.microsoft.com/default.aspx?scid=kb;ja;JP215715 Office 2003 Editions のマクロ セキュリティ レベルを理解する http://www.microsoft.com/japan/office/ork/2003/seven/ch25/SecC02.htm Excel 4.0 マクロのサンプル http://www.relief.jp/itnote/archives/001370.php

cshoaucmoa
質問者

お礼

レスありがとうございます。 Excel4.0マクロというものをはじめて認識いたしました。 ただ、このマクロだと記述方法が必ず頭に"="がくるみたいなのですが・・・。いろいろあるのでしょうか・・・

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

「Excel4.0マクロ」と呼ばれる、本物のマクロのようですね。 長く無いものでしたら、VBAに書き直してみてはいかがですか? マクロの解説は、Excel97のヘルプファイル(XLMACR8.HLP)に記載があります。

cshoaucmoa
質問者

お礼

レスありがとうございます。 Excel4.0マクロというものをはじめて認識いたしました。 ただ、このマクロだと記述方法が必ず頭に"="がくるみたいなのですが・・・。いろいろあるのでしょうか・・・

関連するQ&A

  • エクセルマクロのコードを隠す

    とあるExcel2003で開けるxlsファイルを貰いました。 セルに値を入力すると、セルの背景の色が変わります。 そういうマクロを組んでいるんだと思ったのですが、 シートに対して「コードを表示する」で見ても何も書かれていません。 プロジェクト欄にはこのシートと[ThisWorkbook]しかなく、 [ThisWorkbook]にも何も書かれていません。 組んだマクロのコードを何かして隠しているのでしょうか? それともエクセルの設定でそのようなことが可能なのでしょうか。

  • エクセルマクロで行いたいのですが、できるのでしょうか?

    ネットワーク上にエクセルで作成したファィルが3つあるとします。 その3つのファイルに対してマクロの指示を実行させ(検索の種類を分ける)る方法って可能でしょうか? 例) (1)A付属品ファィル (2)B付属品ファィル (3)Cカートリッジ一覧ファィルがあるとします。 これを、新規のエクセルのシートに3種類の検索画面を作り、3つのファィルの検索は出来るのでしょうか? できる場合は新規のエクセルシートにだけ、マクロを記述すればよいのですか? どのようなマクロを作成し、どのシートに記述するのですか?教えてください。 教えてください。

  • エクセルのマクロがどこに格納されているのか分かりません

    Excel2003です。エクセルを開く際にマクロの有効・無効を問うセキュリティ警告が出ます。ですのでこのファイルにマクロが含まれているのは間違いないと思います。 ゴールシークを実行するごく簡単なマクロなのですが、マクロのモジュールがどこに格納されているか分かりません。おそらく基本が分かっていないのだと思いますが、ご教示くださいませ。 ツール-マクロ-VBEを立ち上げると、プロジェクトエクスプローラに表示されるのは次のとおりで、モジュールが表示されません。 funcres (FUNCRES.XLA) VBAProject (ファイル名.xls) └Microsoft Excel Objects  └Sheet1 (Sheet1)  └ThisWorkbook このファイルは2枚のシートで構成されており、計算式などが記述されているSheet1と下記3行の記述があるMacro1です。 ツール-マクロ-マクロ-編集を実行すると、Macro1シートのセルに飛びます。そのシートには1列3行の記述があり、次のとおりです。マクロの実行で飛ぶのは一番上の行です。 Record1 =GOAL.SEEK("R4C5",0,"R4C8") =RETURN() ちなみに"R4C5"に記入されているのが式、"R4C8"に記入されているのが変数、式の値の収束目標値はゼロです。 Record1が記入されているセルは名前が定義されています。名前はRecord1です。 何となくVBEのモジュールに記載されるはずのものがMacro1シートに記述されているような気がしますが、よく分かりません。参考書などを引いたのですが、分かりませんでした。等号があるので関数かと思いましたが、GOAL.SEEKやRETURNという関数はありませんでした。 要領の悪い質問で申し訳ありませんが、ご教示よろしくお願いいたします。

  • Excel2003のマクロでプログラムを実行

    Excel2003で外部のプログラムを実行したいと思います。 マクロでどのような記述をすれば、プログラムを呼び出すことが出来ますか? 実際にしたいことは、Excelでプログラムを起動>3分後、次のプログラムを起動する という動作です。

  • 初心者です。エクセルのマクロについてご指導ください。

    はじめましてm(_ _)m 皆様のお知恵を拝借したく投稿させい頂きました。 最近エクセルのマクロとVBを覚え始めているのですが、どうしても詰まってしまい、どうしたら良いか悩んでいます。 内容は、既に入力されているワークシートのセルの中身がAならAのマクロ。セルの中身がBならBのマクロを実行と、条件を幾つかに分岐させたいのですが、どうすれば良いですか? 凄く簡単な事を質問しているのかもしれませんが、初心者の私にとって、どう記述して良いのかも検討がつきません。 お忙しいとは思いますが、是非ご指導くださいm(_ _)m

  • エクセルにマクロが!

    エクセル(Excel2000)で、マクロを使っていないのにマクロが使われてしまいます。 例えば、 まず普通にスタート→プログラムと表示していき、エクセルを立ち上げる。 次にどこのセルでもいいから適当に文字を入力する。(例えば、A1にaと入力する) そして、ファイル→名前を付けて保存で保存する。 こうしてできたエクセルのファイルを普通に立ち上げると、「このファイルはマクロが使われています」と、マクロを有効にするか、無効にするかを確認する画面が出てきてしまいます。 どうしてでしょうか。直す方法はあるのですか。よろしくお願いします。

  • Workbook_openでマクロが実行されない

    ExcelのVBAで起動時にマクロを実行させたいのですが、 「メソッドまたはデータメンバが見つかりません。」 とのエラーが出て実行出来なくて困っています。 プログラム内容は *ThisWorkbook* Private Sub Workbook_Open() Module1.tasu End Sub *標準モジュール(Module1)* Private Sub tasu() Dim a As Byte a = 3 Range("a1") = a End Sub 使用しているソフトはExcell2003、VB6.5です。 よろしくお願いします。

  • 古いエクセルのマクロについて

    エクセルのマクロについての質問です。 Excel2000を使用しています。 昔のロータス123のマクロのようにシートに命令が書いてあって、それをVBに書き直そうと思っているのですがどうやって書いたらよいのかわからなくて困っています。 中身ですが、sheet1に数値が入っており、参照するセルは a5,c9,c18,h20,h21 です。 次に、Macroというシートがあって、その中身が 行 A列 1 OK 2 vol=10 3 ERR=0.00001 4 =FOR("COUNTER",1,50) 5 =Sheet1!$C$9-Sheet1!$H$21 6 =IF(ABS(A5)<ERR) 7 =RETURN() 8 =END.IF() 9 vol=vol+A5/Sheet1!$C$18 10 =SELECT(Sheet1!$H$20) 11 =FORMULA(vol) 12 =NEXT() 13 =RETURN() です。 マクロ名は"OK"です。 初心者なのですが、ご親切な方、教えていただけると助かります。 よろしくお願いいたします。

  • Microsoftマイクロソフトのエクセルでマクロ

    MicrosoftマイクロソフトのエクセルでマクロVBAをやりたいです。 プログラムがちょっとわかりません。 sheet1、sheet2、sheet3を参照します。各sheetの中は写真のようなデータが入ってます。 sheet1から始めます。 列Aの3行から23行までをみます。 ◯が書いてあったら、その行をsheet4に貼り付けます。 順次、23行まで繰り返します。 次のsheet2も同じ事を繰り返します。 次のsheet3も同じ事を繰り返します。 sheet4に◯が書かれた行の一覧が出来れば成功です。 可能でしょうか? 出来れば、モジュールmoduleに貼り付けるだけで終わるようにプログラム教えてもらえますか?

  • 検索の方法(エクセル マクロ)

    マクロは記録マクロしかできない超初心者です。 エクセルのsheet1のA1のセルに入っている内容(都度変更)と同一のセルをsheet2で検索し、カーソルをそこに移動させるマクロ記述をしたいのですが、どうなりますか。 記録マクロで、sheet1のA1をコピーし、sheet2に移動して検索窓で貼り付けて「次を検索」とやったのですが、記述をみるとA1の内容がそのまま記述されていて汎用性が無いようです。 よろしくお願いいたします。