• ベストアンサー

エクセルのデータ処理

fumufumu_2006の回答

  • ベストアンサー
回答No.7

ANo.6です。 >>この状態で、シートに戻って、B1の数字を変えてみてください。 >>モジュールが表示され、先ほど赤く反転させた場所が、黄色の反転表示になるはずです。 >黄色に反転しません。 マクロが有効になっていないか、名前が違うか、場所が違うか、その他か・・・ と言う訳で、以下を試してください。 まず、新規作成された、何も無いブックで試してください。 Excelの画面で[ツール][マクロ][マクロ]で、[マクロ名]に[makeQuestion]と入力して[作成]ボタンを押す。 すると、画面がVBE(VBAを編集する画面)に変わります。 1行追加して、下記のようにしてください。 Sub makeQuestion() MsgBox "test" End Sub 次に、Excelの画面で[ツール][マクロ][マクロ]で、[makeQuestion]を選択して(これしかないので選択されているはずです)、[実行]ボタンを押す。 これで、メッセージボックスで"test"と表示しなければ、マクロが実行できない状態です。 その場合は、gooやgoogleで「excel マクロが実行できない」で調べて、実行できるようにしてください。 ただ、ANo.3への捕捉で、 >実行しますと、「13 型が一致しません」というエラーが出ます。 という状況から、マクロは実行できるはずなので、それは無いとは思いますが・・・ 以下は、メッセージが表示した場合です。 Sub makeQuestion() の「Sub」を「Function」に変更してみてください。 Function makeQuestion() MsgBox "test" End Function と「End Sub」が自動的に「End Function」に変わると思います。 この状態で、Excelに戻り、C1に「=makeQuestion()」と入力してください。 メッセージボックスで"test"と表示するはずです(C1の値は0になる)。 これが表示しない場合は・・・打ち込みミスしてないか、「=」や「()」を忘れていないかを確認してください。 以上で、関数が動く事が確認できます。 もう一度標準モジュールの画面に戻って、先ほどの3行のプログラムを消して、その場所にANo.2のモジュールをコピーしてください。(同じ関数名があるとエラーになります) 一応[デバッグ][VBAProjectのコンパイル]で、エラーが出ない事を確認してください。 Excelに戻って A1:English and French are spoken in Canada B1:4 C1:=makequestion(A1,B1,20) D1:=makeanswer(A1,B1) E1:4,5 F1:=makequestion(A1,E1,20) G1:=makeanswer(A1,E1) を入れてください。 これでもC1,D1,F1,G1に何も表示しないでしょうか? または、期待した文字列にならないでしょうか? 期待した通りに表示されたら、うまく動かなかったブックのモジュールのなどを比較してみてください。

ei60
質問者

お礼

なんだか入れ違いになったようですみません。先ほど下に成功と感動とお礼の言葉を送ったとこです。どうもありがとうございました。 うまくできて大変喜んでおります。

関連するQ&A

  • 英訳の問題です お願いします

    「カナダでは英語とフランス語の両方がはなされます。」 これを Both English and French are spoken in Canada. としたのですが。 模範解答では In Canada both English and French are spoken. となっていました。自分の解答では間違えでしょうか。 くだらない質問ですが。よろしくお願いします。

  • 問題 English and French __ in Canada

    問題 English and French __ in Canada. 以下より空欄に入るものを選び、その理由を説明せよ。 アspeak イspoken ウare spoken エare spoken by 正解は『ウare spoken』となり、 “英語とフランス語はカナダで話されています。” という訳になるのですが、 何故、そうなるのか? という理由が上手く説明出来ません。 なるべくスマートな説明文を教えて下さい! よろしくお願いします。

  • 中学英語の答え方

    中学英語で What's the language spoken in Canada? と過去分詞を使って聞いたら 答え方は It's English.又はEnglish. What language is spoken in Canada? と受動態で聞いたら English is. 又はEnglish.で良いでしょうか?

  • 過去分詞について

    お世話になっております。 以下の文についてお教え頂けないでしょうか。 Phrasal verbs are an important part of spoken and written English. (1) spoken and written Englishとなるのがどうもわかりません。 English spoken and written.とどうしてならないのでしょうか? 「話される、そして書かれる英語」となるように思えてならないです。 是非、 ご指導の程何卒宜しくお願い致します。

  • EXCEL VBA で データを集計したい。

    よろしくお願いします。 添付の資料の通り、データを格納しているシートがあります。 項目は、  ・処理日  ・科目  ・D列  ・E列  ・F列 とあったとし、抽出条件は、  ・処理日の範囲指定  ・科目の指定 としたいと思っています。 VBAで処理したいのですが、まずはEXCEL関数のDSUMを使用し、添付の通り指定して、 抽出されることを確認しました。 これと同様の抽出をVBAで行いたく、VBAでワークシート関数を使用するために、  Dim x As Variant x = Application.WorksheetFunction.DSum(Range(Cells(3, "A"), Cells(15, "E")), "D列", Range(Cells(3, "O"), Cells(4, "Q"))) とし、正しく値を取得することができました。 ですが、条件を指定する部分を、セルで指定するのではなく、例えば  "処理日" >= 20151001 and "処理日" <= 20151002 and "科目" = "01" のように、式をVBAで生成して作成したいのですが、方法はありませんでしょうか? ACCESSのDSUM関数のような記述ができませんでしょうか? お手数をおかけします、よろしくお願いいたします。

  • 自然な方

    カナダでは人々はフランス語を母国語として使う場所があると聞いた。 i have heard that in some places in Canada, people use french as a common language. i have heard that in Canada. there are some places where people use french as a common language. どちらでも通じると思うんですがどちらが自然な英語ですか?

  • エクセルの関数でのデータ処理が重い

    お願いします。 エクセルで2万件のデータを関数処理しています。時間がかかるのでVBAで処理できればと 考えています。 A列に当日の顧客コード B列に前日の顧客コード   以下の式によって、前日と当日を比較して増えた顧客と減った顧客を表示させています。 C列に=IF(COUNTIF(B$2:B$23000,A2)>=1,"","増")の関数が入っています。 計算させた後でC列をオートフィルタで増のみ表示し、確認。 D列に=IF(COUNTIF(A$2:A$23000,B2)>=1,"","減")の関数が入っています。 計算させた後でD列をオートフィルタで減のみ表示し、確認。 これをVBAで処理して時間の短縮をしたいのでお教え頂ければ幸いです。 宜しくお願いします。

  • 英語 文法 接続詞

    ・日本文の意味に合うように、(  )に適語を入れなさい。 (1)英語とフランス語の両方が、カナダで話されている。   (Both)Engish (and) French are spoken in Canada. (2)私たちは別の国々の出身だけれど、いい友達だ。   (  )we are from different countries, we are good friends. (3)甲子園は大阪ではなく兵庫にある。   Koshien is ( ) in Osaka ( ) in Hyogo. (4)海外に行く前に、少しお金を両替しておきなさい。   Change some of your money (before) you go abroad. (5)家に帰ってくるとすぐに、彼は寝てしまった。   (As) (soon) as he came home, he went to bed. 予想できたところには候補を入れてみました。 間違っている可能性大なので間違っている個所は添削、よろしくお願いします_(._.)_

  • 受動態から能動態に書き換えが理解できません。

    English is spoken in Canada ↓ They speak English in Canada. なぜthey が文頭にくるのか理解できません。 people や Canadian では誤りでしょうか ご指導お願いします。

  • Excell2002でのデータ処理

    Excell2002でのデータ処理に関数の使用を考えてます。 例えば、以下のようなデータがあります。 A列, B列 ,C列 1 , 10 ,  2 , 12 , 3 ,  8 , 10 5 , 15 , 8 8 , 20 , 9 , 18 , 10 , 16 , 20 ・ ・ (列がきれいに表示されてませんが!) A列は通し番号でありますが、中にはA列B列ともに同じ行で欠測値があります。 要はC列に「A列ー2の行」のB列の値を入れたいのです(上記C列参照)。 勿論B列に欠測値があるので該当する値がなければ「ブランク」とします。 ⇒C列にどのような関数を使えば良いのでしょうか? ⇒IF関数かとは思いますが・・・? ご教示ください。