Results of 1 - 1 of about 14716 for VBA�������������� (0.003 sec.)
- [[20130120092557]]
- #score: 3409
- @digest: 633cbe1577372c890b0a8caaca167f6a
- @id: 61266
- @mdate: 2013-01-22T22:43:29Z
- @size: 2506
- @type: text/plain
- #keywords: itiran (43825), 別! (17620), f2000 (10356), 度別 (10010), work (9249), 年)* (7323), b2000 (6501), 付金 (5691), 1995 (5388), 囲)= (4525), 別") (3139), 年度 (2294), 不得 (2009), 計用 (1805), ト関 (1801), sumproduct (1696), 文法 (1536), formula (1426), ピリ (1270), ル] (1257), year (1221), 。ra (1184), formular1c1 (1091), 額の (1033), はwo (949), 囲) (885), 中は (777), xls (768), 金額 (684), 定方 (605), 得意 (569), evaluate (547)
- 『VBAでの書き方がわかりません。』(まお)
excel2007 window7 年度別合計を出したく、セルに式を入れた分は結果がでるのですが、 VBAでの書き方がわからないんです。 ブックは2つあり、合計用、日付金額の入ったもの。式は合計用ブックに記入 使えてる式 =SUMPRODUCT((YEAR([itiran.xls]work!B5:B2000)=E1)*[itiran.xls]work!F5:F2000) (説明) =SUMPRODUCT((YEAR([日付金額の入ったファイル]work!日付のある範囲)=調べたい年)*[日付金額の入ったファイル]work!金額のある範囲) VBAで書くとコンパイルエラー プロジェクトまたはライブラリが見つかりませんとでてしまいます。 Range("年度別!B5").value = SumProduct((Year([itiran.xls]work! & "B5:B2000") = Range("年度別!C5")) * [itiran.xls]work! & "F5:F2000") どう書けばいいんでしょうか ---- 式を書くときは Value ではなく Formula に 文字列としておきます。 こちらでマクロの記録で式を置くとこんな感じで出てきました。 Range("E5").Select ActiveCell.FormulaR1C1 = _ "=SUMPRODUCT((YEAR([itiran.xls]work!RC[-3]:R[1995]C[-3])=R[-4]C)*[itiran.xls]work!RC[1]:R[1995]C[1])" 整理して書くと、 Range("E5").FormulaR1C1 = "=SUMPRODUCT((YEAR([itiran.xls]work!RC[-3]:R[1995]C[-3])=R[-4]C)*[itiran.xls]work!RC[1]:R[1995]C[1])" ですが R1C1形式がわかりずらければ R1C1を外して、セルアドレスに置き換えればいいでしょう。 Range("E5").Formula = "=SUMPRODUCT((YEAR([itiran.xls]work!B5:B2000)=E1)*[itiran.xls]work!F5:F2000)" とできます。 シートを指定するなら、文字列の中はEXCELの数式の指定方法。VBA の中は VBA の文法に従って書きます。 Range("E5").Formula =.... は WorkSheets("年度別").Range("E5").Formula =.... です。 (Mook) ---- VBAでワークシート関数を使う場合は Application.シート関数 あるいは WorkSheetFunction.シート関数 と記述。 かつ、何でも使えるわけではなく、つかえないものもある。(VBAヘルプに使うことができる関数のリストがある) で、SUMPRODUCT は一応使えるんだけど、制約がいろいろあって、使えないことが多いみたい。 (そもそも、私自身が関数音痴で、特にSUMPRODUCTが不得意なので、ピリっとしたコメントができないんだけど) Range("年度別!B5").Value = Evaluate("SUMPRODUCT((YEAR([itiran.xls]work!B5:B2000)=E1)*[itiran.xls]work!F5:F2000)") こうしたらどうなるかな? (ぶらっと) ---- あっ、式を設定したいというのではなく、計算結果を代入したいということでしたか。 勘違い失礼しました。 それから Range("年度別!B5").Value って あら、できるんですね。 出来ないものと思い込んでました。 (Mook) ---- Mookさん ぶらっとさん VBAでも動きました。 おかげさまで、助かりました。 ありがとうございました。 ...
-
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201301/20130120092557.txt
- [detail]
- similar
PREV
NEXT
Powered by
Hyper Estraier 1.4.13, with 97009 documents and 608121 words.
訪問者: