ここから本文です

エクセルVBAを作ったのですが、実行できません。

アバター

ID非公開さん

2019/6/1112:38:23

エクセルVBAを作ったのですが、実行できません。

何が悪いのでしょうか。

写真下部にあるようなNAMEとエラーになります。

エクセルVBA,End Function,エラー,rng As Range,写真下部,Cell As Range,セルA1

閲覧数:
47
回答数:
4

違反報告

ベストアンサーに選ばれた回答

2019/6/1113:34:21

全ての「構文」を載せ、「何をしたいのか、どういう結果」を
説明出来ませんか?

↑画像だけの情報では、「何が悪いのか」は誰にも分からないかと…。

全ての「構文」を載せ、「何をしたいのか、どういう結果」を
説明出来ませんか?...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

hel********さん

2019/6/1117:12:24

まず、ユーザ関数はPersonalではなく、Book1.xlsmなどの標準モジュールに書いて試してみてはどうですか?

Function TEST(Cell As Range) As String
TEST = 1
End Function

上の式は、関数名TESTで引数はセル参照で、戻り値は文字列と定義していますが、処理は「1」という文字列を返すだけです。
セルに「=TEST(A1)」としても、「=TEST(B5)」にしても結果は文字列の「1」なので関数にする意味がありません。
引数をセル参照にしたいのであれば、処理は数値を計算させるようにすればよいです。
例えば、セルA1に金額「5000」が入力して、その金額の消費税込みの計算をしたければ以下のようなコードを書きます。

Function Zeikomi(rng As Range) As Long
Zeikomi = Int(rng.Value * 1.08)
End Function

後は、任意のセルに「=Zeikomi(A1)」と入力するとセルA1の金額の消費税込みの金額が表示されます。

ちなみにエラー「#NAME?」は、関数名が間違っているのでは?という意味です。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

プロフィール画像

カテゴリマスター

hot********さん

2019/6/1114:28:03

セルに何と入れていますか?
例えば

=TEST(A1)

としてください。
それとVBAは標準モジュールに入ってますか?
Sheet1のVBAとかに入ってませんか?

セルに何と入れていますか?
例えば

=TEST(A1)

としてください。...

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

プロフィール画像

カテゴリマスター

a_h********さん

2019/6/1113:06:29

TESTとは何?
1を代入しているのは何?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる