ここから本文です

2007 エクセル 数値と認識しない

jaz********さん

2013/7/1108:20:35

2007 エクセル 数値と認識しない

度々失礼します、下記の内容で複数のテキストボックスから数値を抜粋して(例えばシート2のB1とB2に別々のテキストボックスから数値を抜粋)それを(シート2のB3のセルに)=SUM(B1、B2)で加算しようとしたのですがなぜか答えが0になってしまいます。
表示形式を数値にして再入力したりしてもなおりません。
ネットで調べたのですが原因が分からず質問しました、どうすればなおせるでしょうか?


Q.
2007エクセルでフォームに入力した数値を他のセルから関数つかって抜粋したいのですがどうすればよいでしょうか?
たとえばシート1のA1のセルの位置に「開発」→「挿入」→「テキストボックス(ActiveX コントロール)」を作って、そのテキストボックスに「みかん」と入力して、シート2のB1のセルにみかんと反映するようにしたいのですが数式はどう作ればよいのでしょうか?

A.
Sheet1 の シートモジュールに下記をコピペ
Private Sub TextBox1_Change()
Application.Calculate
End Sub

標準モジュールを追加して下記をコピペ
Function myObjVal(ws As String, myCtr As String) As String
Application.Volatile
myObjVal = Worksheets(ws).OLEObjects(myCtr).Object.Value
End Function

Sheet2 の セルB1 に
=myobjval("Sheet1","TextBox1")

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
346
回答数:
2

違反報告

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

msk********さん

2013/7/1111:00:18

SUM関数で「0」になると云う事は、対象が空欄か文字列だからですよ。
当然、テキストボックスは文字列だし、又、ユーザ定義関数の戻りも文字列指定だし。

こんな感じです。
Function myObjVal(ws As String, myCtr As String) As String

Function myObjVal(ws As String, myCtr As String) As Long

質問した人からのコメント

2013/7/12 03:42:39

笑う ありがとうございます、思い通りになりました!その部分だったんですね~

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

1〜1件/1件中

all********さん

リクエストマッチ

2013/7/1109:47:40

マクロは判りませんが
SUM関数で 0なのは参照数字が 文字列数字であるから
Valueの宣言? が・・・・

数式なら A1 文字列数字 なら =A1*1 で数値

ActiveXコントロールの例
http://www.eurus.dti.ne.jp/yoneyama/Excel2007/excel2007-activex2.ht...

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

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

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

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

閉じる

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

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

閉じる