Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
パッキングリストのコンテンツ(明細表)作成自動化について
投稿日時: 22/01/12 21:17:26
投稿者: mito-nagase

VBA初心者です。
 
仕事でパッキングリストの明細の作成を行っておりますが、
下記の通り、100シートほどの明細を手作業で作成しております。
 
 
【イメージ】
 
製品 A  CASE@長さ258 幅205 高さ229 cm 重量500KG
製品 B  CASEA長さ258 幅205 高さ229 cm 重量500KG
.
.
.
.
このように100ケースほど続きます。
上記のようなリストを@、A.....と別々のシートに1つずつコピペして手作業で作成しております。
VBAで自動的(半自動)にシート作成と情報が記載されるようなフォームを作りたいと思っております。
(シートが100シートできあがるイメージ)
どのようにマクロを組めば、また、勉強していけばよいかご教示頂けますと幸です。
 
当方、エクセルは比較的得意ですが、プログラミング経験はなく、
マクロ作成による業務の時短を迫られております。
興味もあり、学習意欲もございますが、時間もあまりなく途方に暮れております。
何卒、宜しくお願い致します。

回答
投稿日時: 22/01/12 22:48:49
投稿者: 半平太

そのイメージ図において、セルのアドレスも分かる様に再提示してください。
  
当該情報をコピペするとどんなシートが2つ出来上がるのか示してください。
※これもセルアドレスが分かる様にしてください。
※2つ目が1つ目と全く同じ内容なら、1つ目のシートについてだけで結構です。

回答
投稿日時: 22/01/12 23:16:24
投稿者: WinArrow
投稿者のウェブサイトに移動

全くの素人が、あなたの仕事をお手伝いするとしたら
どのように説明しますか?
お手伝いsる人が、目の前に居ればよいが、
回答者には、何も見えません。
 
もう少し、具体的な説明を
 
>このように100ケースほど続きます
ケースとは、件数のことでしょうか?
>(シートが100シートできあがるイメージ)
 
若し、100件と仮定すると、
100シートになるということは、
各シートの中身は1件ということになります。
 
↑は、説明から推測して記述していますので、
他人にもあかるように説明しましょう。

回答
投稿日時: 22/01/13 10:00:43
投稿者: Suzu

単にエクセルの操作を自動で行わせたいなら、マクロの自動記録を使ってみましょう。
 
Excelのオプション - リボンのユーザー設定から メインタブ「開発」にチェックを入れ
 リボンに表示させ マクロの記録を押し、マクロ化したい操作を行ってから 記録終了 を押し
 Visual Basic を押し、Visual Basic Editer を表示
  標準モジュール 内 のモジュールに 記録されているはずです。
 そのマクロを実行すれば、記録した操作が再現されるはずです。
 
操作自体の命令は 自動記録 を使えば参考コードを見る事ができます。
でも、その操作を行う前提として、
    〇〇が△△なら A1 セルに、□□を入力
  ○○が▲▲まら A1 セルに、◇◇を入力
 の様に、
特定の条件下において、ある操作をさせるはずです。
 
その条件分岐の方法としては If を使います。
 
If ○○ = △△ Then
 Range("A1").Value = □□
Else
 If ○○ = ▲▲ Then
  Range("A1").Value = ◇◇
 End If
End If
 
の様になります。
 

引用:
マクロ作成による業務の時短を迫られております。

との事ですが
 
目的に沿った動作をおこなうマクロを使える様にするが目的であれば
時間もないのであれば、ご自分で作らずに業者に依頼する事も選択肢にいれてはどうでしょう。
 
あくまでご自分作成すると言うことであれば勉強方法としては
・独学
  WEBや動画
  参考書
 
・教えてもらう
  知人
  VBAの講習会
  mougの様な掲示板
 
などがあるでしょう。
 
掲示板で勉強するとしても、名詞をはじめ「言葉」の部分で 質問者-回答者間で
意思疎通が図れないと効率が悪いです。
 
少なくとも、勉強を行う気があるのであれば、手元に参考書は用意しましょう。

投稿日時: 22/01/13 17:08:45
投稿者: mito-nagase

皆様
 
早急かつ的確なご回答ありがとうございます。
今回の分はパワープレイで作成するように致します。
 
ご回答頂きましたとおり、勉強し自分で作成できるよう努めたいと思います。
ありがとうございました。

回答
投稿日時: 22/01/13 17:12:49
投稿者: WinArrow
投稿者のウェブサイトに移動

追記します。
 
「掲示板ご利用上のお願い」
https://www.moug.net/faq/kiyaku.html
に書かれていますが、「コードの作成依頼」は禁止されています。
 
Excelに限ったことではないが、「手作業を自動化する」が原点です。
説明文の中には、手作業に当たる部分は
「100件のケースのデータを100シートに複写する」
だけが説明されている。
>フォームを作りたい
という希望との関連性が見えません。
 
要は、手作業で実施している、どの部分を自動化するのかが見えない
ということです。

回答
投稿日時: 22/01/13 17:32:00
投稿者: 半平太

何で私の質問に答えないかなぁ。
 
>パワープレイで作成するように致します。
エクセルはそういうことをしないで済ませられるツールなんですよ。
そんな結論になるのはおかしい。

回答
投稿日時: 22/01/15 16:04:25
投稿者: mattuwan44

>仕事でパッキングリストの明細の作成を行っております
 
門外漢には、「パッキングリストの明細」が、わかりません。
 
エクセルのシート上の一覧表を、
1行づつ決まった様式に出力して印刷(個々のケースのラベルを印刷)できればよいのかなぁと想像します
(100シートに個々のデータを分ける意味が解りません。)が、
最終的に欲しい結果を明示ください。
(もしかしたら、一覧表をカード型のデータベース的に変換したいのかと想像してみたり^^;)
 
くり返しの作業は、パソコンの得意とする分野なので、
ぜひとも自動化したいところですね。
 
ただ、結果を焦るなら、手動で力業に頼るか、
数式で半自動化しながら、結果を出しながら、
時間を作って勉強するしかないかと思います。
少し気長にやってみてはいかがでしょうか?

回答
投稿日時: 22/01/17 12:49:30
投稿者: めんたん

もう見られてないかもしれませんが、なんとなくやりたいことを想像してみました。
 
現状
1.別シートを作成
2.リストから必要な項目をコピペ
 
マクロで業務改善案
1.別シートを作成。「複製元シート」という名前にする
2.複製元シートにVlookUp関数を使って「Case 〇」をキーに必要な項目を呼び出せるようにする
3.マクロをつかってキーを変更→別シートに保存する
 

「リスト」シート
     A      B       C
1   キー   製品名   寸法
2    1      A       100
3    2      B       150

「複製元シート」
     A      B                                  C
1   キー   製品名                             寸法
2    1      =VLOOKUP(A1,リスト!A:C,2,0)        =VLOOKUP(A1,リスト!A:C,3,0)

「VBE」
For i = 1 To 10
    Sheets("複製元シート").Range("A1").Value = i 'Vlookupのキーを書き換える
    Sheets("複製元シート").Copy After:=Sheets(Sheets.Count)  '複製元シートをコピーする
    Sheets(Sheets.Count).Name = "Case " & i  '新しくできたシートの名前を変える
    Sheets(Sheets.Count).Cells.Copy  '値貼り付けして式を消す
    Sheets(Sheets.Count).Cells.PasteSpecial xlValues
    Application.CutCopyMode = False
    Application.Goto Sheets(Sheets.Count).Range("A1")
Next


なんとなくこんなことをやりたいのでは?、と思いました。
コードはエラー対策やらなんやらは省いて動作のイメージのみです。
最初はこんな作業でも十分早くなるかと思います。

トピックに返信