Gizport
1 回答
0
Share (facebook)
47
view
全般

データベース関数DSUMの利用改善2について 1.データ=A1-D...

データベース関数DSUMの利用改善2について

1.データ=A1-D7
2.科目と商品の抽出条件表=.B9-C12
3.条件テーブル=F1-H2
4.出力表 =F9-G12

店毎に集計、但し、科目,商品の「上3桁」が抽出条件に合致しているアイテム >

●特別なユーザー関数 DSUM97 を作りましたが、うまく機能しません(^^)汗

全て同一シート上に今はありますが、
出来れば, 本件解決後は元データとそれ以外はシートを分けたいと考えています


F2:=100
G2,G3,G4:=COUNTIF($B$10:$B$12,INT(B2/10^3))>0
H2,H3,H4:=COUNTIF($C$10:$C$12,LEFT(C2,3))>0
を入れてます

そこで、DSUM97(Z1,4,Z3,Z4,Z5)で受け渡せるユーザー関数を作りました
運用は、G10:=DSUM97($A$1:$D$7,4,$F$1:$H$2,F10,$F$2)と入力し
下へコピーして数値を集計する予定です

DSUM97のコード
------------------------------------------------------------
Public Function DSUM97(Z1 As Range, Z2 As Integer, Z3 As Range, Z4 As Range, Z5 As Range) As Long

Z5.Value = Z4.Value '---#1
DSUM97 = Application.DSum(Z1, Z2, Z3) '---#2◆

End Function
------------------------------------------------------------
現在の実行結果

1.G10に #VALUE! が戻り、シングルステップ実行ライン(黄色いライン)がで#2◆の行へ進ます、消える
2.#1にブレークポイントを設定するとZ4.VALUE,Z5.VALUEには100が入る
3.EXCEL画面から =DSUM($A$1:$D$7,4,$F$1:$H$2)をすると 110,0,330 と該当数値が正しく返ります

この件を解決するための訂正を教えて下さい

テストは EXCEL97 でうが、それでなくても結構です

//
Yahoo!知恵袋 4390日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
Excel VBA の Function プロシージャ実行中は

セルの挿入/削除
セルの値の変更
アクティブセルや選択範囲の変更
シートの挿入/削除や名前の変更
Excelの設定の変更

といったことは出来ないはずです。
Excel97の環境が手元にありませんが、以前は出来たなんてことはないと思います。



訂正

「Function プロシージャ内では」というのは正確ではないので
「Function プロシージャ実行中は」と訂正しました。
Function プロシージャから Call メソッドで呼び出された Sub プロシージャであっても
上記のことは出来ません。

これを許してしまうと、あらかじめ予測不可能な循環参照が生じる恐れがありますから
この実装はやむを得ないのではないでしょうか。
Yahoo!知恵袋 4389日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
35
Views
質問者が納得Advanced OpenGLはONにしてください あと、グラフィックは処理優先にしてください ちゃんと設定してもグラフィックが描画優先なら重くなります あと、optifineの設定はきちんとしましたか? optifineは設定項目を追加するmodであり 設定次第で重くも軽くもなりますよ? そのFPSは多分妥当ですよ 止まってたり、すでに読み込んだとこならギリ50~60いくと思いますが 動いてるとFPSは30くらいが普通かもしれないです 普通に遊ぶ用に細かい設定をしてください 描画距離は実際f...
3589日前view35
全般
20
Views
質問者が納得いくつか疑問点があります。 1.シート1のどこに担当者の情報があるのでしょうか。 2.>担当者別シートは、行数が1~30行で、列数はA~N列 A~N列は3の倍数になっていません。L列かO列までのはず。 以上を考慮せず、一人の担当者だけのマクロを提示しますので、参考にして下さい。 シート1をSheet1、担当者のシートをSheet2としています。 標準モジュールに下記を。 Sub Macro() Dim i As Long, imax As Long Dim j As Integer, k As...
3590日前view20
全般
27
Views
質問者が納得月々サポートが7月利用分への適用で終了したからですよ。 F-10Dだと2500円位だったと思います。 10年超回線だと基本料が2年間無料のキャンペーンなどもあったかも知れません。(その時期はまだキャンペーン前だったかも知れませんが)
3591日前view27
全般
54
Views
質問者が納得ELECOMは 192.168.2.1 又は、 http://192.168.2.1/ ユーザー名 admin パスワード admin OK でルーター設定・管理画面に入れます。 ルータとパソコンとの接続について http://qa.elecom.co.jp/faq_detail.html?id=3118 フレッツ光等でPPPoE接続の場合、パソコンからPPPoE設定を削除してください。 Gateway SX2110-F12D/はデスクトップPCなので別途無線LAN子機やイーサーネットコンバ...
3656日前view54
全般
42
Views
質問者が納得参考に挙げられていたサイトのコードを元にして全体的に書き換えてみました。 よろしければどうぞ。 http://pastie.org/9424625 一応の動作確認は行いましたが、念のため、そちらでもお願いします。 ほぼ跡形も無いほど改造しましたが著作権は主張しません。 ご不明な点がございましたらどうぞ。
3658日前view42

取扱説明書・マニュアル

1038view
http://www.nttdocomo.co.jp/.../F-12D_J_02.pdf
116 ページ13.50 MB
もっと見る

関連製品のQ&A