こんにちわ。
マクロ素人です。
業務でマクロを使うことになったのですが、いくら調べても思うような情報にたどり着かず、皆さんのお力を拝借できればと思っています。
やりたいことは2つです。
#1:データのキーワード抽出
下記表の「B3」と「C3」(片方もしくは両方)にキーワードを入力し「抽出実行ボタン」を押すと別シートの「Project sheet」より対象となるデータが6列以降に全て抽出され一覧表示される。
#2:データの更新、上書保存
上記で抽出されたデータを修正した場合、「更新ボタン」を押すことによって、別シートの「Project sheet」の同列(元あった場所)に上書き保存される。
このようなことをするためにマクロを使いたく、マクロを組む方法をご教授いただけないでしょうか。
ど素人質問で大変恐縮ですが、どなたかアドバイスの程よろしくお願い致します。
*幾分マクロど素人なのもので細かく教えていただけると幸いです。
何卒よろしくお願い致します。
No.1
- 回答日時:
図の字が読めません。
セルごとになんて書いてあるか書き込んでください。
GooUserラックさん
大変失礼しました。
図の字は下記の通りです。
「Project#」
「顧客名」
「営業担当」
「Application category」
「プロジェクト名」
「Family」
「型名」
「製品群」
「Capacity」
「MP」
「2016 Volume(K/Yr.)」
「2017 Volume(K/Yr.)」
「2018 Volume(K/Yr.)」
「Project status」
「Status」
「備考」です。
お忙しいとは思いますが、アドバイスを頂戴できると幸いです。
どうぞよろしくお願い致します。
No.2
- 回答日時:
うーん。
初心者ですよね?
なかなか難しいですよ?
処理としては、
1.列の検索
2.ヒットした行数を取得
3.その行数のデータ(セルの塊)を貼り付け
4.次のセル検索(繰り返し)
3で貼り付けてますが、配列に格納して、まとめて貼り付ける方がいいでしょう。
理解できました?
更新の場合は、行数も一緒に取得していれば、その行数を元に貼り付ける、って感じ。
検索より楽ですね。
ちょっと理解できれば、そんなに難しくはないですよ。
くんこばさん
早速のありがとうございます。
そして貴重なお時間の中アドバイスをいただきありがとうございます。
Excelはそこそこ使えるのですが、マクロについては初心者も初心者です。
ご説明いただいた方法は理解はできたのですが、どうマクロを組めばいいかわからない状況です。
甘えついでに素人の私でもわかる様な良き参考書もしくはWebページなどありますでしょうか?
どうぞよろしくお願い致します。
No.3
- 回答日時:
これでしたら、マクロなど使用せず「Project sheet」のタイトル部の「Project#」と「顧客名」にオートフィルターをかけるだけで実現しちゃいます。
ご返答ありがとうございます。
確かにそれが一番早いのですが、社内の要請でデータベース化する必要もあり上記のようなことがマクロでやりたいと考えている所存です。。。
もし、可能であれば引き続き良きアドバイスもしくはマクロそのものを教えていただけたら幸いです。
どうぞよろしくお願い致します。
No.4
- 回答日時:
遅くなりました。
セルの検索方法
1.FIND関数
https://www.moug.net/tech/exvba/0050116.html
2.セルの比較
http://sp.okwave.jp/qa/q1780105.html
どの程度理解できます?
本当にご丁寧にありがとうございます。
私が素人なばかりにお手数をお掛けしてすいません。
理解はたぶん出来ていないと思います。(^^:
ただ、全てのデータが記載されているSheetの上部に「1.FIN関数ページ」内にある下記のマクロを組み込んだボタンを作成すれば、いけるのかなと思いました。
-----
Sub Sample3()
Dim c As Range
Dim firstAddress As String
With Worksheets("DB").UsedRange.Columns(1)
Set c = .Find(What:=Range("B1").Value, _
LookIn:=xlValues, LookAt:=xlPart) '---(1)
'条件に当てはまるセルがあるかどうかを判定
If Not c Is Nothing Then
'最初のセルのアドレスを覚える
firstAddress = c.Address
'繰返し検索し、条件を満たすすべてのセルを検索する
Do
c.Resize(1, 3).Copy Destination:= _
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Set c = .FindNext(c) '----------------------(2)
If c Is Nothing Then Exit Do
Loop Until c.Address = firstAddress
End If
End With
End Sub
---------
「2.セルの比較」はどう使えばいいのかわかりませんでした。。。
貴重なお時間をいただいる上に甘えてしまって本当に申し訳ありませんが、認識が間違っていたら再度ご教授いただけると幸いです。
何卒よろしくお願い致します。
No.5ベストアンサー
- 回答日時:
遅くなりました。
こっちの方が分かりやすいですね。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
要は、指定した列を上から順にIfを使って検索すればいいんです。
「検索について」
http://www.relief.jp/itnote/archives/excel-vba-i …
「Cells関数」
Cells(行,列)を使う。列を固定して、行を1増加させながら検索。検索にヒットしたら、その行番号から横一列のデータが取得できるわけです。そして、抽出データを反映させる時に行番号も保持しておくと。
更新するときは、その行番号を利用して上書きする。
こんな感じ。
いきなりすべて作りこまず、部分的に作っていきましょう。
なるほど!
ありがとうございます。
教えていただいたページを参考に勉強してみます。
何度も何度もご丁寧にありがとうございます!
次もまた教えていただけますか?
何卒よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/11 11:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA コピーを有効行までループ...
-
Excelで連続印刷をするマクロ
-
条件に応じて特定の行を非表示...
-
EXCELで指定範囲に一括し...
-
Excel にて非表示行を探すワー...
-
エクセルでの書式ー下付きショ...
-
yyyy/mm/ddの日付に一括変換す...
-
Excel2007 セルを右方向に削除...
-
Excel(VBA)データ入力に応じて...
-
エクセルで同じ行中にある先頭...
-
wordのvbaでハイパーリンク設定...
-
Excelでセル内の数式は残し値だ...
-
EXCEL:同じセルへどんどん足し...
-
Excelで同じシートのコピーを一...
-
エクセルで前のシートを連続参...
-
EXCELで1ヶ月分の連続した日付...
-
Accessのスプレッドシートエク...
-
別シート参照のセルをシート毎...
-
日報をエクセルで作成したいの...
-
VBAでシートコピー後、シート名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excelでセル内の数式は残し値だ...
-
Excel2007で、太字にした行のみ...
-
Excelで連続印刷をするマクロ
-
「マクロ」の足し算の式を教え...
-
エクセル VBA 小数点を含む数字...
-
エクセルで全ての数字間にカン...
-
(Excel2003)すぐ左の最後の行...
-
Excel(VBA)データ入力に応じて...
-
Excel にて非表示行を探すワー...
-
エクセルで、行ごとの並び替え...
-
エクセル2003でマクロをおこな...
-
excel ある部分だけをコピペし...
-
行の入れ替えってどうするの?
-
Excelで周期的に列を削除する方法
-
整数行を残し小数点の行を削除...
-
EXCEL マクロで「キーワード入...
-
VBA コピーを有効行までループ...
-
Excel2007 セルを右方向に削除...
-
wordのvbaでハイパーリンク設定...
おすすめ情報