シート【基本情報】とシート【データ入力】というシートがある雛形があります。
【基本情報】の(3行目から始まる、最終的100行目くらい)D列に「ほにゃらら」と書いてあるセルを探して、「ほにゃらら」と書いてあれば
以下のようにコピーし、「値」でペーストします。(【基本情報】の「ほにゃらら」が▲行目の場合)
【基本情報】C▲⇒【データ入力】A5
【基本情報】D▲⇒【データ入力】B5
【基本情報】E▲⇒【データ入力】C5
以上までの工程が終われば、現在、雛形のあるフォルダーに「名前をつけて保存」します。
保存名は、すべて【基本情報】から以下のように拾う。
B▲+スペース+C▲+スペース+ほにゃらら
ここまでの工程が終わったら、別の行の(●、■、、、)「ほにゃらら」を、探し、該当がなくなるまで工程を繰り返す。
************************************************
以上のようなマクロは組めますでしょうか?このマクロがあれば、業務がずいぶん飛躍的、かつ劇的に効率があがります…。
宜しくお願いします。
No.2
- 回答日時:
最初に、掲示板の質問でマクロの製作依頼というのは、マクロを専門に回答する人たちにとっては、敬遠すべきひとつなのですが、それでも、完成させる人たちがいます。
その中には、まったく素人だというのに、フローチャートのような内容で、理路整然と書かれた文章を見せる人がいます。
以前、私は、そういう方に出会い、本当にプログラミングなどを知らないとしたら、大したものだと関心してしまいました。(もしかしたら、私は上手にノセられたかもしれません。)
フローチャート自体は書けなくても、論理的(筋を追って)かければ問題がないのですが……
-------------------------------
..\A_folder\BookA のシート【基本情報】?
..\A_folder\BookB のシート【データ入力】?
『始まり:』
Sheet【基本情報】の
[D列の3行目から最終的100行目+@の間](固定)
から、値が、(仮)「ほにゃらら」のセル?
を検索し、
同じ行の以下の列の行(▲)を、
C▲⇒【データ入力】A5
D▲⇒【データ入力】B5
E▲⇒【データ入力】C5
【基本情報】シートの「値貼り付け」にする。
..\A_folder「雛形のあるフォルダー」?
B(▲)&スペース+C(▲)+スペース+「ほにゃらら」?
に「名前をつけて保存」
//別の行の ?
『始まり』に戻る=>
---------------------------------
マクロがある程度分かる方なら、どなたでも、この中で、問題がある部分が分かるとは思います。人によっては、回答者側が予めこうだと決めて書く人もいますが、私はしません。ただ、私の場合はエラー対策を考えて、それが仇になっていることが多いのです。
それと、「雛形」という単語は、プログラミングでは、Class を意味しますが、Excelではテンプレートを指すことにもなり、基本的にひな形は書き換えをしないものであることから、そう呼ばれたりします。鯛焼きの鋳型のようなものです。
その最初のシートとブックの関係を位置関係を示さないと分かりません。
..\A_folder\BookA のシート【基本情報】?
//BookA//というブックの中に、基本情報,データ入力シートがあるのか、不明
>値が、(仮)「ほにゃらら」のセル?
これはどこにあるセルなのか分かりません。
> B(▲)&スペース+C(▲)+スペース+「ほにゃらら」?
ファイル名に空白を入れても良いのですが、空白はどちらかというと、あまりよろしくないと思います。
それと、もうひとつは、ブックにデータが3つしかないのに、それで、100行で場合によっては、場合によっては、100個もファイルを作るのか、同名の処理をどうするとか、疑問を感じます。
>別の行?
どこなのでしょうか、表現としては成立しても、意味をなしません。
>以上のようなマクロは組めますでしょうか?
ご自身でマクロを組むにしても、誰が組むにしても、プログラミングとして曖昧さのない筋立てを考えられれば、可能だと思います。臨機応変に、利用できるものは利用することを考え、仕事を完成させることを優先させればよいと思います。難しいことは後に考えればよいことです。
No.3ベストアンサー
- 回答日時:
a=ws1のD列最終行番号
d=検索値の入力されているセルの値(今回は仮にws1のA1セルとしました)
b=ws1のi行B列の値
c=ws1のi行C列の値
myFile=ファイルを保存するパスとファイル名
としています。
ws1の3行目からa行目までiのループで総当たりで、
条件分岐で、もしws1のi行D列の値がd("ほにゃらら"でもいいです)と同じならば
ws2のA5セルからC5セルにws1のi行C列からE列の値を代入します。
ws2をコピーし、保存ファイル名をmyFileとします。
アクティブブック(この場合myFile)を閉じます。
次のiをループします。
検索値を「ほにゃらら」として固定すると「ほにゃらら」しか検索できませんので、今回はws1のA1セルに検索値が入力されているものとしました。(セル番地は任意の場所に変更してください)
検索値は「ほにゃらら」だけでいいのなら「d="ほにゃらら"」とし、他の値を検索する場合はVBEの画面でdの値を変更してください。。
Sub test()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim myFile As String
Dim a, b, c, d, i As Long
Set ws1 = Worksheets("基本情報")
Set ws2 = Worksheets("データ入力")
a = ws1.Cells(Rows.Count, "D").End(xlUp).Row
d = ws1.Range("A1").Value
Application.ScreenUpdating = False
For i = 3 To a
If ws1.Cells(i, "D").Value = d Then
ws2.Range("A5").Resize(1, 3).Value = ws1.Cells(i, "C").Resize(1, 3).Value
b = ws1.Cells(i, "B").Value
c = ws1.Cells(i, "C").Value
myFile = ThisWorkbook.Path & "\" & b & " " & c & " " & d & ".xlsx"
ws2.Copy
ActiveWorkbook.SaveAs Filename:=myFile
ActiveWorkbook.Close
End If
Next i
Application.ScreenUpdating = True
End Sub
ありがとうございます!
いい感じのところまで(データ反映、ファイル書き出し)行きました。
しかしながら、No.2さんのご指摘のとおり、お願いの仕方が悪かった部分があり、思っていたとおりの結果にはなりませんでした。私が悪いのです!!
ファイル書き出しは【データ入力】シートだけでなく、もともとひな形に世用意してあったシートすべてを入れたまま(ブックごと)保存したいのです。
また最初のお願いの段階で、私のお願いミスを見つけました。補足に書き直します。
よければ再度お願い申し上げ候!!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- 情報処理技術者・Microsoft認定資格 応用情報と基本情報の同時期受験について 1 2022/08/31 12:24
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
- Excel(エクセル) エクセルのデータ整形について 3 2022/11/12 00:27
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
腕を見たら黄色くなってる部分...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
精子が黄色?
-
勃起する時って痛いんですか? ...
-
尿検査前日に自慰行為した時の...
-
尿検査の前日は自慰控えたほう...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
精子に血が・・・
-
中出しをするとお腹が痛い・・・。
-
納豆食べた後の尿の納豆臭は何故?
-
甲状腺腫れ
-
EXCELで式からグラフを描くには?
-
EXCELで条件付き書式で空白セル...
-
筋トレするとチンコが縮んじゃ...
-
爪が紫色?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報
ミス訂正、補足
シート【基本情報】、シート【データ入力】、【データ入力】に書かれたものが反映していくシート×4、あるエクセル雛形ブック。
【基本情報】のE列にある「ほにゃらら」と書いてるセル(3行目から始まる、最終的100行目くらい)の該当を探し、該当すれば
以下の様にコピー、「値」でペースト。(【基本情報】該当「ほにゃらら」が▲行目の場合)
【基本情報】C▲⇒【データ入力】A5
【基本情報】D▲⇒【データ入力】B5
【基本情報】E▲⇒【データ入力】C5
以上までの工程が終われば、現在、雛形ブックのあるフォルダーに、全てのシート(ブックまま)「名前をつけて保存。
保存名は【基本情報】から拾い、以下の様に。
B▲/C▲/ほにゃらら
(Cには氏名が入るので同名の可能性は低)
ここまでの工程が終えたら、E列、別の行の(●、■、…)「ほにゃらら」を探し、該当なくなるまで工程を繰り返す。
テスト結果、途中までの経過で
d="ほにゃらら"
で問題ありませんでした!