下記のマクロでインデックスが有効範囲にありません。
Windows(F_NAME).Activate→エラー個所
Sheets(M_KAKOBA(count)).Select→エラー個所
教えてください。

Dim work, hensu, i, j, h

Windows("加工品.xls").Activate
work = Sheets("masta").Cells(3, 6).Text
'シート名の変更
Windows(F_NAME).Activate
Sheets(M_KAKOBA(count)).Select
ActiveSheet.Name = work

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

A 回答 (1件)

この数行だけでは回答に困りますね。

エラーが2箇所分かっているのも?ですね。
F_NAMEがどんな文字か、countは何か、M_KAKOBA(count))はどんな文字か調べる必要があります。
変数として有効でも、その名前のBookが開いているか、その名前のシートが存在するかも問題になります。

VBE画面で、表示→イミディエイトウインドウでイミディエイトウインドウ(デバッグ)を出します。
そこに、
?F_NAME と入力してEnter
?count と入力してEnter
?M_KAKOBA(count)) と入力してEnter

などを行って、自分の意図した値になっているか調べます。

または、VBE画面でエラーが起きる直前辺りの行でブレークポイントの設定を行います。
マクロを中断させて、F_NAMEやcountの文字にマウスを持っていけば、値が表示されます。
ブレークポイントはコードウインドウの左のグレー部分をクリックしても設定できます。

他にウオッチウインドウなどもあります。使い方を研究してみたらどうでしょうか。
エラー原因も直ぐわかるように(自力で)なると思います。
    • good
    • 0

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

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

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

Q「試験範囲」は英語でなんといいますか?

「試験範囲」は英語でなんといいますか?

どの辞書を調べてもthis test covers pages 30-42 のようにしかのっていません。

学校で試験範囲が書かれたプリントのタイトル部分は、一体どのような表現となるのが、英語圏で一般的なのでしょうか。お教えください。

Aベストアンサー

「範囲」とはちょっとニュアンスが違うのだけれど、試験に出る項目のリストには、"exam objectives" とか"Study guide"等と書かれています。
 
学期を通しての試験範囲や試験の日程が書かれたものは"exam schedule" とか "test schedule" と書かれています。
 
黒板の板書や口頭でテスト範囲を発表する場合は、"Test #3 will cover from chapter 5 to chapter 10."等です。 

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Q一般に「英語」というときの言葉の概念の範囲について

一般に「英語」というときの言葉の概念の範囲について

日常生活において、「英語」というとき
いわゆる「英語」の他に
慣用的にフランス語やドイツ語などの外国語(特にヨーロッパ圏の言語)のことも含めて
「英語」と呼び慣わす場合があるような気がするのですが。。。

自分の思い過ごしでしょうか?

Aベストアンサー

・・・というよりは、白人が外国語を話していたら、「英語」ときめつけてしまう
風潮がある、ということでしょう。本当はフランス語やドイツ語かもしらないのに。
あるいは、白人が道にまよっていて親切心がある人がつい「英語」で話しかけて
しまうかもしれません。本当は英語は片言で、スペイン語やイタリア語が
自分のことばかもしれないのに。

QVBA(EXCEL2003)におけるselect,activateメソッドの違い

EXCEL2003でVBAを独習中です。どうもselectとactivateの違いをなかなか理解できません。
例えば
sheets("sheet1").select と sheets("sheet1").activateの違いは何かということがわかりません。
まして activesheet.activate などと書かれていると、何でアクティブなシートをアクティブにしなければならないのだ?と思ってしまいます。
VBAに関しては、数回目の初心者ですので、何でも言ってください。

Aベストアンサー

シンプルに言うと、
セルをクリックしたままマウスをドラッグさせると、ドラッグさせた範囲は薄いブルーになりますよね(元が白いセルなら)、そこがセレクトされた範囲です。
しかしながら、最初にクリックしたセルだけは色が変わってないですよね、そこがアクティブです。
セル以外に、シートでもCtrlやShiftを押しながら複数選べますよね、同様です。

Q「実行時エラー 9 インデックスが有効範囲にありません」を英語で連絡したい

VBで作ったソフトで良く出る、
実行時エラー 9 インデックスが有効範囲にありません
というエラーを、開発元に伝えたいのですが、

くだんのソフトがアメリカ製英語ソフトになっています。

アメリカの開発元へ、エラーを伝えてあげたいのですが、
MS日本で翻訳した「実行時エラー 9 インデックスが有効範囲にありません」
というエラーメッセージの、本国英語版メッセージが、どういう文面なのか
わからず困っています。

一応、Microsoft Technetも探してみたのですが、私の力量ではお手上げです。

どなたか英語版の原文エラーメッセージをご存知の方、
または、日本語エラーメッセージの原文対訳サイトをご存知の方、
などいらしてましたら、どうか助けてください。

Aベストアンサー

No.4です。
目的がVisual Basicで
>「実行時エラー 9 インデックスが有効範囲にありません」を英語で連絡したい
なら、どのバージョンでも
Run-time error 9 Subscript out of range
だと思います。

ランタイムがインストールされていなければ、Visual Basicは実行できないと思います。
そのプログラムのインストール時かそれ以前にインストールされていると思います。

Q■□■読み方■□■ #N/A, #VALUE!, #REF!,DIV/0!,#NUM!, NAME?, #NULL

前に、似たような質問をされている方がおりましたが、明確な答えが出ておりませんでしたので教えていただけますでしょうか。
以下のようなエクセルのエラー項目の
読み方を教えていただけませんでしょうか。
#N/A
#VALUE!
#REF!
DIV/0!
#NUM!
NAME?
#NULL
よろしくお願いします。
なお、意味は結構です。あくまで読み方を教えていただきたいのです。
しかも、カタカナでお答えいただくと助かります。
勝手言って申し訳ないですが、
よろしくお願いします。

Aベストアンサー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル・インターセクション

<方法2>書いてある字をそのまま読む。

#N/A エヌエー
#VALUE! バリュー
#REF! レフ
#DIV/0! ディブゼロ
#NUM! ナム
#NAME? ネーム
#NULL! ナル(ヌル)

<方法3>適当な英語で代表させて「エラー」をつける。

#N/A ノットアベイラブルエラー
#VALUE! バリューエラー
#REF! リファレンスエラー
#DIV/0! ディバイデッドバイゼロエラー
#NUM! ナンバーエラー
#NAME? ネームエラー
#NULL! ヌルエラー

<方法4>日本語を混ぜる。

#N/A 無効エラー
#VALUE! バリューエラー
#REF! 参照エラー
#DIV/0! ゼロ割りエラー
#NUM! ナンバーエラー
#NAME? 名前エラー
#NULL! ヌルエラー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル...続きを読む

Q英語とスペイン語は現在完了形の守備範囲が違いますか?

たった今話し相手が言ったことを聞き取れなかったとき、What did you say? と[過去形で]聞き返すのが、英語。
Que has dicho? と[現在完了形]で聞き返すのが、スペイン語。このように観察しました。もっとアカデミックな?言い方で説明すると、どんな風に言えますか?英語とスペイン語では現在完了形の守備範囲が違うのでしょうか?

Aベストアンサー

守備範囲は基本的には同じで、どちらも完了、結果、経験、継続を表すのに現在完了形を使います。
スペイン語の方が、過去形、現在完了形の区別を話し手の感情に依存しており、英語よりも用法がフレキシブルです。

例えばスペイン語では極端な話、5年前に起こった出来事を描写する文に現在完了を用いても間違いにはなりません。
分かり易い例を挙げると
Mi abuelo ha muerto hace cinco anos.
など。話し手が今でもおじいさんが亡くなった事を引きずっているんですね。
単純に事実を描写する場合は Mi abuelo murio hace cinco anos. です。

余談ですが、スペインのガリシア地方ではガリシア語に現在完了形が存在しないため
他の地域で完了形を用いる文にも過去形を用いる傾向が強いです。

それに比べると英語の完了形は時を表す副詞(句)によって過去形、現在完了形が明確に分かれています。
現在完了形は明確に過去を表す語句、Yesterdayとか、five years ago等と一緒には使えません。
現在を含む副詞(句)、today、this morning 等は現在完了形を使います。
但し、最近の過去の一時点を表す場合には過去形を用います。

ご質問の What did you say? が What have you said? とならないのは上記の「最近の過去の一時点を表す」場合にあたるのではないでしょうか。

守備範囲は基本的には同じで、どちらも完了、結果、経験、継続を表すのに現在完了形を使います。
スペイン語の方が、過去形、現在完了形の区別を話し手の感情に依存しており、英語よりも用法がフレキシブルです。

例えばスペイン語では極端な話、5年前に起こった出来事を描写する文に現在完了を用いても間違いにはなりません。
分かり易い例を挙げると
Mi abuelo ha muerto hace cinco anos.
など。話し手が今でもおじいさんが亡くなった事を引きずっているんですね。
単純に事実を描写する場合は Mi a...続きを読む

Q=IF(Sheet1!MX9="", "",Sheet1!MX9) で表した結果に条件付き書式を

こんにちは、エクセル2010を使っています。

A1セル
=IF(Sheet1!MX9="", "",Sheet1!MX9) B1セル =IF(Sheet1!MY9="", "",Sheet1!MY9)
と数式が入っていて、結果が 29% 36% などとなって居ます。

このセルに、【30%以上の場合は】と条件を与えても動作するどころか空白まで全てに条件が適用されてしまいます。

これを通常通り条件付き書式を与えるにはどうしたら良いでしょうか。

詳しい方、よろしくお願いいたします。

Aベストアンサー

少し面倒ですが、現状のA1、B1の計算式を変えない方法として
条件付き書式をいじってみては?

A1を選択して 条件付き書式 → 新しいルール → 数式を使用して、書式設定するセルを決定 を選択
下部に表示されたテキストボックスに、
=VALUE(A1)>=0.3 (0.3は30%の意)
と入力、設定したい書式を選択して設定する

あとは、A1のセルをコピー、B1に書式のみ貼り付けでOK

Q「できる範囲でお手伝いします」を英語で

こんにちは。

「私のできる範囲で助けます」
「私の知ってる範囲で助けます」
みたいな言い方は、英語ではどういいますか?
I do help you as I can. とかでいいんでしょうか?
よろしくお願いします。

Aベストアンサー

I'll help you as much as I can.

<参考>
http://tatoeba.org/eng/sentences/show/464753

QExcel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

Excel2000です。

Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。

Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。

Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。

つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、

どうすればよいのでしょうか。

Aベストアンサー

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、

Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)


人気Q&Aランキング