はじめて投稿いたします。
現在、エクセル2000でマクロを組んでいるのですが、何日も悩んでそこから動けないので質問させていただきます。

やりたいことは、
(1)検索フォームの入力テキストに記載した数値を読んで検索ボタンを押すと、
(2)データブック.xls内の完全に一致した数値のセルの行をアクティブにして
(3)その行のA列からO列の値をコピーして
(4)入力ブック.xlsの入力シートのB4:B18に数値だけ貼り付け
したいと考えています。
検索フォームは入力ブック.xls内で作成しています。
今のところ、(3)でA列の値を読んで、(4)でB4セルに貼りつけということはできているのですが、複数になるとできていません。

根気よく、同じプログラムを書くのが良いのでしょうか?
かなり面倒なので、もっと簡単にかける方法があれば教えてください。

A 回答 (3件)

>個人的に最も引っかかっているのが、別ブックで処理を繰り返さなければならないところなんですが・・・。



一個ずつができているのであれば、RangeかCellsの指定先を変数に変えてやって、For文の回すのでいいのでは?
変数は使いまわし・上書きができるのですから、値を保持しておかないといけない理由がない限りはFor文を書いてやる以外に差はないと思いますが・・・
それと、いちいちアクティブセルを指定してやる必要はないです。
アクティブセルが指定されなくても値は指定したセルに代入されます。

それともブックやシートの指定方法がわからないということでしょうか?
    • good
    • 0
この回答へのお礼

sykt1217さん、回答ありがとうございます。
このサイトの使い方をイマイチ理解していなかったもので、返信が遅くなってしまい、申し訳ありません。

ご回答をいただいてから四苦八苦しておりましたが、先ほどようやくできました!!

考え方をご教授いただきましてありがとうございました。

お礼日時:2009/05/19 11:08

>複数になるとできていません。


ここがちょっとわかりませんが、「二つ以上のセル」ということでしょうか。
それであればFor文を使ってやればいいかなっと思いますが・・。(論点がズレていたらすみません。)

例:
Dim i As Integer

With Worksheets(ActiveSheet.Name)
 For i = 2 To 32
  .Cells(7, 33) = .Cells(7, 33) + .Cells(7, i)
Next
End With

上はAG7にB7~AF7の値を足して行く簡単な処理です。
これをベースに考えれば、恐らく実現できると思います。(本当に論点ズレていたらすみません^^;
    • good
    • 0
この回答へのお礼

sykt1217さん、回答ありがとうございます。

個人的に最も引っかかっているのが、別ブックで処理を繰り返さなければならないところなんですが・・・。
For文を使って、考えて見たいと思います。

お礼日時:2009/05/13 13:00

そのような場合はforループやwhileループによる繰り返し制御を行えばよろしいかと思います。


繰り返し制御とは、一定条件を満たすまで同じ処理を繰り返すことを言います。
例えば、
 while(アクティブなセルが空白でない)
  (3)、(4)の処理
  次のセルをアクティブにする
 wend
とすると、アクティブなセルが空白になるまで、(3)、(4)の
処理を繰り返します。

上記はおおざっぱに書いているだけですので、詳細は「whileループ」や「forループ」
などの単語で検索して調べてみてください。
    • good
    • 0
この回答へのお礼

denbeeさん、回答ありがとうございます。
別ブックでそれぞれアクティブセルを移動させるのはどうしたらよいかわかりますか??
初心者なので、変数が2つ以上あるとイマイチ分からないのですが・・・

お礼日時:2009/05/13 12:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBA(マクロ)を勉強したい

VBAを勉強したいのですが、オススメの本等教えて下さい。
今FOM出版のマクロ入門を買って勉強しています。大体の基本操作は分かった気がします。

Aベストアンサー

こんにちは。

ここら辺が参考になると思います。

日本VBA協会の参考書籍
の準拠本
http://www.vbaa.jp/training/books.htm

アマゾンのExcelVBA
http://www.amazon.co.jp/exec/obidos/ASIN/4774119660/vbaajpn-22/249-7235447-7367506

Qエクセルのセルに入力した名前を数値化

どなたかご教授頂ければ幸いです。
エクセルの文字列(一覧表)に

田中
田中
鈴木
鈴木
佐藤
田中
田中
佐藤
佐藤
鈴木
佐藤
佐藤


と入力されているものを
集計表に

田中・・・4
鈴木・・・3
佐藤・・・5

とし、集計したいのですが、
名前を数値に読み替える方法がわかりません。

良い方法があればお教えください。

部下の月次訪問件数を容易に集計する方法を模索中です。
余計な入力を部下にさせたくないので、プルダウンで自身の
名前を選ぶだけで入力を完了とし、別の場所に作った
集計表に数値(件数)となって落ちていくものを作りたいと考えています。


よろしくお願いします。

Aベストアンサー

例えばシート1のA列に名前が入力されているとして、その名前が幾つ入力されているのかをシート2で表示させることにします。
シート2のA列には名前を入力します。B列にシート1のA列にその名前が幾つあるかを表示させるとしたらシート2のB1セルには次の式を入力して下方にドラッグコピーします。

=IF(A1="","",COUNTIF(Sheet1!A:A,A1))

QマクロとVBAの違いは?

最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか?

アクセスはマクロとVBA(VBE)が別れてるけど、
エクセルは「マクロの記録」でVBAコードが取得できますよね。

マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?

Aベストアンサー

こんにちは。

#2さんの引用先と同じ内容ですが、日本語として出ていたはずです。

マクロとVBAを、一応、定義として把握していないと、きちんと人には教えられないと思いますね。アクセスには、一般的に、VBA側で作られたものは、マクロとは呼べません。

理由は、「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とするユーザー定義関数は、マクロの範疇から外れます。

マイクロソフトでは、こう定義しています。

以下は、内容的に、あくまでも、VBAの範疇に対して書かれています。

マクロは、より意味の限定された用語で、引数を持たないパブリックなSub プロシージャのことだけを指します。すべてのマクロはプロシージャですが、すべてのプロシージャがマクロであるとは限りません。マクロの記録機能を使って生成されるプロシージャとOffice アプリケーションの[マクロ]ダイアログボックスから実行できるプロシージャは、すべてマクロです。

それに反して、VBAというのは、アプリケーション用のVisual Basic プログラミング言語です。

「VBA」で書かれたものを総称して、プロシージャと呼び、マクロとは厳密には意味が異なります。また、Ver.4 の「マクロ関数」で書かれたものも、プロシージャで自動実行で作業をするものも、総称してマクロと呼びます。また、ひとつのブックにあるモジュール(=プロシージャを呼び出すためのオブジェクト)群をプロジェクトと呼び、「モジュール」を組み合わせ一貫した仕事をするようにしたものを「システム」と呼んだりします。

これで、違いが分かっていただけたかと思います。

こんにちは。

#2さんの引用先と同じ内容ですが、日本語として出ていたはずです。

マクロとVBAを、一応、定義として把握していないと、きちんと人には教えられないと思いますね。アクセスには、一般的に、VBA側で作られたものは、マクロとは呼べません。

理由は、「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とするユーザー定義関数は、マクロの...続きを読む

Q検索フォームの文字入力

ネットをしていて,ctrl+Fで検索フォームを立ち上げるとなぜか言語バーが灰色になり,文字の入力形式が変更不可能になってしまいます.

設定をいじった覚えはありません,なんとかして変更を可能にする方法はないでしょうか?

どなたかわかるかたよろしくおねがいします.

Aベストアンサー

こんにちは。

文字を入力する枠の中をクリックして見てください。
それでもだめなら、ほかに理由があるはずです。

QVBAとマクロ

お世話になります。田吾作7です。

ふと思ったのですが。。。

VBAとマクロの違いって何でしょう?
「マクロの記録」ボタンを押したのがマクロですか?
VBAは、MS-Officeのモジュールにユーザ自身が書き込んだら、それはVBAですか?
もしそうなら、[マクロの記録]ボタンはなぜ[VisualBasicツールバー]にボタンがあるのでしょうか。マクロを編集しやすくするためでしょうか?

記録で
Range("A1").select
それを編集で
Range("A2").select
としたらVBA?

さらに最初っから
Range("A2").select
と記録したマクロは、やっぱりマクロ?


VBAとマクロって違いあるのでしょうか?
いつも疑問に感じて、モヤモヤしてます。
だれか、このモヤモヤ感を解消してください。

よろしくお願いします。


余談ですが・・・
VBAは[VB for Application]ですよね?
Office関連のためのVBってことですよね。
でもAPIを使ってWINDOWSを制御することもできるから[for App]の意味が無いような気がする今日この頃・・・

お世話になります。田吾作7です。

ふと思ったのですが。。。

VBAとマクロの違いって何でしょう?
「マクロの記録」ボタンを押したのがマクロですか?
VBAは、MS-Officeのモジュールにユーザ自身が書き込んだら、それはVBAですか?
もしそうなら、[マクロの記録]ボタンはなぜ[VisualBasicツールバー]にボタンがあるのでしょうか。マクロを編集しやすくするためでしょうか?

記録で
Range("A1").select
それを編集で
Range("A2").select
としたらVBA?

さらに最初っから
...続きを読む

Aベストアンサー

マクロという言語があるわけではないので
決まった処理を登録しておいて後で実行できる機能を
マクロと呼んでいるんじゃないですか?

そのマクロの情報をスクリプトとして保存しておきますので
そのスクリプトがVBAという事だと思いますが。

Qフォーム入力時に言語バーが白抜きになっていて入力出来ない。

フォーム入力時に言語バーが白抜きになっていて入力出来ない。
サイトなどの会員登録時に氏名・住所などを入力するフォームがあるかと思いますが、
その部分にカーソルを持っていくと、言語バーの「A般」の部分が白抜き?になってしまい、
数字も文字も一切入力できません。
この問題を解決する方法を教えて下さい。

Aベストアンサー

>特定のサイトのみでの現象です。
そのサイトの運用者またはWeb Masterに問い合わせることをお勧めします。

QVBAとマクロの違い

こんばんは。エクセル初心者です。
VBAとマクロの違いについて教えてください。
VBAというのは、プログラミング言語のことで
よろしいのでしょうか?
そのVBAで記述されたものをマクロとよぶ
といったイメージでよろしいのでしょうか?

たとえば、あるエクセルにはいってるマクロを
実行する、ということを作業マニュアルに記述
する場合
「○○マクロを実行する」というのが
正しいのでしょうか?それとも
「VBAを実行する」というのが正しいのでしょうか?

まったく見当違いのご質問だったら申し訳ありません。
教えてください。

Aベストアンサー

「○○マクロを実行する」というほうが正しいです。

VBAは言語のことです。
マクロとは特定の操作手順をプログラムとして記述して自動化することです。

今回の場合、特定の処理なので「マクロ」という表現を使いましょう。

Q入力フォームに残っていて入力するたびにでてきる履歴を消したい

タイトル通りです。
色んな入力フォームで入力した履歴がでてきて、まどろっこしぃのでけしたぃのですが、クッキーの削除とかしてみたけど消えません↓↓

消し方をおしえてくださいm(μ_μ*)m

Aベストアンサー

オートコンプリート(auto-complete)というもので過去の入力履歴を参照して次の入力内容を予想し、
あらかじめ表示する機能です。

■ オートコンプリートの不要な候補のみを削除する方法

1 ) テキストボックス(過去の入力履歴が表示されるフォーム)でダブルクリックします。

2 ) オートコンプリート(過去の入力履歴)のリストが表示されるのでカーソルキー(矢印キー:↓↑)で不要な項目を選択します。

3 ) キーボードの[Delete]キーを押すことにより不要な候補が削除されます。


■ オートコンプリートの候補をすべて削除する方法

メニュー[ツール]-[インターネットオプション]をクリック

[インターネットオプション]ダイアログ-[コンテンツ]タブをクリック

[オートコンプリート]ボタンをクリック

[オートコンプリートの設定]ダイアログ

[フォームのクリア][パスワードのクリア]ボタンをクリック

[OK]ボタンをクリック)

[オートコンプリートの設定]

[OK]ボタンをクリック

[インターネットオプション]

[OK]ボタンをクリック

オートコンプリート(auto-complete)というもので過去の入力履歴を参照して次の入力内容を予想し、
あらかじめ表示する機能です。

■ オートコンプリートの不要な候補のみを削除する方法

1 ) テキストボックス(過去の入力履歴が表示されるフォーム)でダブルクリックします。

2 ) オートコンプリート(過去の入力履歴)のリストが表示されるのでカーソルキー(矢印キー:↓↑)で不要な項目を選択します。

3 ) キーボードの[Delete]キーを押すことにより不要な候補が削除されます。


■ オ...続きを読む

QVBAとマクロの違い

VBA初心者です。
会社の人からVBAとマクロの違いについて質問され、ちゃんと説明できませんでした。
なにがちがうんでしょうか?
私は「VBAのプログラミング=マクロを組む」と思ってました。
よろしくお願いします。

Aベストアンサー

こんにちは。maruru01です。

Excel(2000)については、No.1の方の説明通り、
「マクロ = VBAというプログラミング言語で記述された一塊の動作」
です。
したがって、miyacさんの、
「VBAのプログラミング=マクロを組む」
で、おおよそあっています。
また、自分で書いたコードをマクロとして登録することも出来ます。
しかし、Access(2000)での"マクロ"は少しニュアンスが異なります。
Accessの場合は、マクロはいくつかの動作・操作は順に登録しておき、それを自動実行させる、という使い方です。自分で書いたコードをマクロとして登録するというやり方ではありません。(本当はそういうやり方も出来ますが。)
したがって、VBAとマクロは何となく別物のような印象を受けます。
それにAccessでは、「マクロを組む」という表現は通常使いません。
ただし、マクロをVBAに変換することが出来ますし、マクロに登録する各動作・操作も、VBAで自分で書くことが出来ます。
ですから、結局同じことなんですけどね。
まとめると、「マクロは自動実行処理を登録すること」で、「VBAはそのアプリケーションのあらゆる操作を記述すること」ですかね。
では。

こんにちは。maruru01です。

Excel(2000)については、No.1の方の説明通り、
「マクロ = VBAというプログラミング言語で記述された一塊の動作」
です。
したがって、miyacさんの、
「VBAのプログラミング=マクロを組む」
で、おおよそあっています。
また、自分で書いたコードをマクロとして登録することも出来ます。
しかし、Access(2000)での"マクロ"は少しニュアンスが異なります。
Accessの場合は、マクロはいくつかの動作・操作は順に登録しておき、それを自動実行させる、という使い方です。...続きを読む

Qアドレス入力フォームで前回入力した内容を選択しても消えてしまう。

様々なサイトで会員登録などをするときに、アドレス入力フォームに情報を入力します。ブラウザにフォームを記憶させておくと、各テキストボックスで最初の文字を入力すると、自動入力するようにプルダウンで前回入力した内容が表示されます。それを選択すると、いったんテキストボックスにそれが入り、カーソルがその入力されたものの右端(最後)で点滅している状態になります。問題はここからなのですが、カーソルを次のボックスに移動させようと思ったとき、タブキーを押してすんなり移動するときもあれば、タブキーを押すとまたプルダウンが出て選択しなおすようになったり、プルダウンも出ず最初に入力した2,3文字だけ残してカーソルが次のボックスに移動してしまったりします。選択した内容を確定させなければならないのかと、Enterキーを1回押しても、同じように選択したはずの内容が消えて、最初の2,3文字だけ残して次のボックスに移動したりします。当然何度も前のボックスに戻って入力しなおすはめになり、首をかしげています。とっても基本的なことのようですみませんが、なぜこうなるのか、どうすれば安定して入力できるのか、どなたか教えてくださいませ。(ちなみにWindows XP/Internet Explorer7です)

様々なサイトで会員登録などをするときに、アドレス入力フォームに情報を入力します。ブラウザにフォームを記憶させておくと、各テキストボックスで最初の文字を入力すると、自動入力するようにプルダウンで前回入力した内容が表示されます。それを選択すると、いったんテキストボックスにそれが入り、カーソルがその入力されたものの右端(最後)で点滅している状態になります。問題はここからなのですが、カーソルを次のボックスに移動させようと思ったとき、タブキーを押してすんなり移動するときもあれば、タ...続きを読む

Aベストアンサー

IE7の問題かもです。
私は、ツールバーの入力欄では同じ現象を経験していますが、IE6のフォームでは全く経験がありません。
そもそも、IE6では、キーワードを選択した時点で入力が確定しているはずです。
IE7では、未確定状態になっていませんか?


人気Q&Aランキング