[[20210402110826]] 『VBAで他のファイル参照 COUNTIF関数』(熱血マン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAで他のファイル参照 COUNTIF関数』(熱血マン)

はじめまして。よろしくお願いします。
VBAにて他のファイルを参照し、COUNTIF関数である文字列をカウントしたいです。
今は、セルに1つずつ数式が入力してあり1000行以上のデータが入っています。最初は数式でいいやと思っていたのですが、どんどんデータを入力していくうちにパソコンがどんどん重くなってきました。そこで、VBAでやってみたいと思うのですが、無知な為どなたか教えてください。これを機に少しずつ勉強したいです。

まず、D列に製品名が入っています。カウントしたいのは切り替え回数で他のがいるに入っています。他のファイルには10年ほどのデータが入っており指定期間のカウントをしています。

=IF($D27="","",COUNTIFS([データベース.xlsm]生産データ!$B:$B,">="&年間生産データ!$I$23,[データベース.xlsm]生産データ!$P:$P,"1",[データベース.xlsm]生産データ!$B:$B,"<="&$T$24,[データベース.xlsm]生産データ!$P:$P,"1",[データベース.xlsm]生産データ!$F:$F,D27))

といった感じの数式がC列に入っています。
データベースの生産データのB列は日付、
年間生産データのI23は指定した開始日
データベースの生産データのP列は切り替え回数
T24は指定した終了日
データベースの生産データのF列はメインファイルのD列に入っている製品名
という感じです。

これをVBAでD列に文字が入力されたらC列にカウントされた数字が
入力されるというのを教えて頂きたいです。

ネットで検索してみたのですが
Sub Sample02_3()

    Dim cnt As Long
    cnt = WorksheetFunction.CountIf(Range("A1:A11"), "A001")
    MsgBox "A001は、" & cnt & "件です。", vbInformation
End Sub
といったものがあり、他のファイル参照方法などもよく分からず
ここで質問させていただきました。

よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 普通に他ブックのセルに書き込んだり読み込むのと同じ要領。
(基本) 2021/04/02(金) 12:08

 >最初は数式でいいやと思っていたのですが、
 >どんどんデータを入力していくうちにパソコンがどんどん重くなってきました。
 >そこで、VBAでやってみたいと思うのです

 1.この意図は、これまで算出した数式の結果をぜんぶ値に変えて、
   今後は「D列に文字が入力された」都度、そのセルだけ数値を計算してC列に出す、と言うことですか?

 2.ところで、ご提示の数式に条件のダブりがある様ですが、間違いはないですか?

      =IF($D27="","",COUNTIFS(
       [データベース.xlsm]生産データ!$B:$B,">="&年間生産データ!$I$23,
 ここ → [データベース.xlsm]生産データ!$P:$P,"1",
       [データベース.xlsm]生産データ!$B:$B,"<="&$T$24,
 ここ  → [データベース.xlsm]生産データ!$P:$P,"1",
       [データベース.xlsm]生産データ!$F:$F,D27))

(半平太) 2021/04/02(金) 19:29


半平太さんコメントありがとうございます。

1ですが、その通りです。

2ですが、ダブってますが間違いではないです。P列に入力されてる日付を判定しています。
例えば2020/01/01〜2020/12/31までという感じです。
(熱血マン) 2021/04/02(金) 21:42


 >1ですが、その通りです。
 すると、生産データのデータが修正されたり、追加になったりしても
 過去算出した値は不変のままですが、それでいいんですね?

 >2ですが、ダブってますが間違いではないです。P列に入力されてる日付を判定しています。
 >例えば2020/01/01〜2020/12/31までという感じです。
 そういう場合、普通は「間違い」と言ってしまうんですが、
 それが刺激的な表現と言う事なら、「無駄」と呼ぶことにはなります。

 いずれにしても一つは削除される運命なんですが、納得行かないですか?

(半平太) 2021/04/02(金) 23:32


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.