はじめて投稿いたします。
現在、エクセル2000でマクロを組んでいるのですが、何日も悩んでそこから動けないので質問させていただきます。
やりたいことは、
(1)検索フォームの入力テキストに記載した数値を読んで検索ボタンを押すと、
(2)データブック.xls内の完全に一致した数値のセルの行をアクティブにして
(3)その行のA列からO列の値をコピーして
(4)入力ブック.xlsの入力シートのB4:B18に数値だけ貼り付け
したいと考えています。
検索フォームは入力ブック.xls内で作成しています。
今のところ、(3)でA列の値を読んで、(4)でB4セルに貼りつけということはできているのですが、複数になるとできていません。
根気よく、同じプログラムを書くのが良いのでしょうか?
かなり面倒なので、もっと簡単にかける方法があれば教えてください。
No.1
- 回答日時:
そのような場合はforループやwhileループによる繰り返し制御を行えばよろしいかと思います。
繰り返し制御とは、一定条件を満たすまで同じ処理を繰り返すことを言います。
例えば、
while(アクティブなセルが空白でない)
(3)、(4)の処理
次のセルをアクティブにする
wend
とすると、アクティブなセルが空白になるまで、(3)、(4)の
処理を繰り返します。
上記はおおざっぱに書いているだけですので、詳細は「whileループ」や「forループ」
などの単語で検索して調べてみてください。
denbeeさん、回答ありがとうございます。
別ブックでそれぞれアクティブセルを移動させるのはどうしたらよいかわかりますか??
初心者なので、変数が2つ以上あるとイマイチ分からないのですが・・・
No.2
- 回答日時:
>複数になるとできていません。
ここがちょっとわかりませんが、「二つ以上のセル」ということでしょうか。
それであれば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の値を足して行く簡単な処理です。
これをベースに考えれば、恐らく実現できると思います。(本当に論点ズレていたらすみません^^;
sykt1217さん、回答ありがとうございます。
個人的に最も引っかかっているのが、別ブックで処理を繰り返さなければならないところなんですが・・・。
For文を使って、考えて見たいと思います。
No.3ベストアンサー
- 回答日時:
>個人的に最も引っかかっているのが、別ブックで処理を繰り返さなければならないところなんですが・・・。
一個ずつができているのであれば、RangeかCellsの指定先を変数に変えてやって、For文の回すのでいいのでは?
変数は使いまわし・上書きができるのですから、値を保持しておかないといけない理由がない限りはFor文を書いてやる以外に差はないと思いますが・・・
それと、いちいちアクティブセルを指定してやる必要はないです。
アクティブセルが指定されなくても値は指定したセルに代入されます。
それともブックやシートの指定方法がわからないということでしょうか?
sykt1217さん、回答ありがとうございます。
このサイトの使い方をイマイチ理解していなかったもので、返信が遅くなってしまい、申し訳ありません。
ご回答をいただいてから四苦八苦しておりましたが、先ほどようやくできました!!
考え方をご教授いただきましてありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのチェックボックスを...
-
エクセルで数字から名前に変...
-
VBAで「セルに何か入っている場...
-
エクセルでのセルをまたぐ文字...
-
Excel VBAでオートフィルタ後...
-
Excel:複数セルの計算値を一気...
-
EXCELで連続していない数値を30...
-
エクセル 条件が成立した場合...
-
エクセル 週ごとの数値抽出
-
エクセルについて、A1が1ならば...
-
エクセル関数で…
-
Excel関数 「日付を入力...
-
マックで右クリック
-
エクセルVBAで、C言語のscanf("...
-
Excel VBA 自動で連番をわりふる
-
エクセルで縦書きルビの付け方
-
エクセル関数で「数値が入力さ...
-
エクセル 空白を除き左に詰め...
-
エクセル、マクロで「末尾を1文...
-
エクセル表計算 割り算は英語...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのチェックボックスを...
-
エクセルで数字から名前に変...
-
エクセルでのセルをまたぐ文字...
-
Excel関数 「日付を入力...
-
エクセルでのNULLという文字列...
-
Excel:セルに入力されている日...
-
VBAで「セルに何か入っている場...
-
エクセルについて、A1が1ならば...
-
エクセルで漢字を数字に変換す...
-
エクセル 条件が成立した場合...
-
エクセルで縦書きルビの付け方
-
エクセル関数で…
-
EXCELで連続していない数値を30...
-
(EXCEL)CELLの色をカウントす...
-
Excel:複数セルの計算値を一気...
-
エクセル関数で「数値が入力さ...
-
エクセルで空白のセルを探して...
-
エクセルファイルを開くとメッ...
-
pages で「テキストを左右両端...
-
折り返して表示、縮小して表示...
おすすめ情報