[[20210215001648]] 『CSVデータの数値変更 マクロ(作業の自動化をした』(もも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『CSVデータの数値変更 マクロ(作業の自動化をしたいです)』(もも)

マクロ初心者です。
毎月行う作業を自動化するマクロを組みたいと思いますが、何から手を付ければよいのか分からずにいます。ご教授の程よろしくお願いいたします。
【元データの説明】
・数値・金額・文字列が入っているCSVデータ
・データが入っている列は 、A列〜AQ列・行は、1行〜その月のデータ数最後の行まで。
【毎月行う作業の手順】
1.セル「A1」〜「AQ2」まで「既定の文字列」を入れる(任意のファイルから引用してくる)
編集したいのは「A3」−「AQ3」より下の欄の数値の入っているセルです。
2.B列(B3以下)の数字を全て「501」に変更する
3.F列、I列、J列、L列、S列、W列の表示形式を「文字列」にする
4.D列、E列の数値を0にする
5.H列の数字が「640」であれば、同じ行のE列を「1」とし、F列を「010」、L列を「S5」する
6.H列・J列の数字を全て3ケタにする 1ケタなら「001」 3ケタ数字はそのままで
7.L列の「S5」以外のセルを「00」とする
8.W列を全て「00」とする
9.Y列(「Z3」以下)をN列(「O3」以下)に転記する
10.O列、P列の数値を0にする
11.V列をAA列に転記する
12.U列、V列の数値を消す(空欄に)
13.CSV形式とエクセル形式でそれぞれ任意のフォルダに保存する

< 使用 Excel:Excel2019、使用 OS:unknown >


修正:
6.H列・J列・S列の数字を全て3ケタにする 
(S列を追加します)

(もも) 2021/02/15(月) 00:28


>何から手を付ければよいのか分からずにいます。
こうしてみてはどうですか?

1.セル「A1」〜「AQ2」まで「既定の文字列」を入れる(任意のファイルから引用してくる)

 →コピペすればなんとかなりませんか?
  コピペで対処可能なものであれば、手作業を【マクロの記録】でコード化してみてください。

2.B列(B3以下)の数字を全て「501」に変更する

 →手作業を【マクロの記録】でコード化してみてください。

3.F列、I列、J列、L列、S列、W列の表示形式を「文字列」にする

 →手作業を【マクロの記録】でコード化してみてください。

4.D列、E列の数値を0にする

 →手作業を【マクロの記録】でコード化してみてください。

5.H列の数字が「640」であれば、同じ行のE列を「1」とし、F列を「010」、L列を「S5」する

 →ちょっと難易度が高いので後回し

6.H列・J列・S列の数字を全て3ケタにする 1ケタなら「001」 3ケタ数字はそのままで

 →H列・J列・S列を選択し「セルの書式設定」-「表示設定」-「ユーザー定義」と選んでいき、種類のところに「000」と入力してOKを押下
  上記を【マクロの記録】でコード化してみてください。

7.L列の「S5」以外のセルを「00」とする

 →.L列の「S5」以外のセルを選択し「セルの書式設定」-「表示設定」-「ユーザー定義」と選んでいき、種類のところに「00」と入力してOKを押下
  また、選択しているセルに「0」を入力
  上記を【マクロの記録】でコード化してみてください。

8.W列を全て「00」とする

 →W列を全て選択し「セルの書式設定」-「表示設定」-「ユーザー定義」と選んでいき、種類のところに「00」と入力してOKを押下
  また、選択しているセルに「0」を入力
  上記を【マクロの記録】でコード化してみてください。

9.Y列(「Z3」以下)をN列(「O3」以下)に転記する

 ちょっと意味がわかりません。「Z3」「O3」はセルの値のことを言っているのですか?

10.O列、P列の数値を0にする

 →手作業を【マクロの記録】でコード化してみてください。

11.V列をAA列に転記する

  普通にコピペでOKですね。
  上記を【マクロの記録】でコード化してみてください。

12.U列、V列の数値を消す(空欄に)

  普通にクリアでOKですね。
  上記を【マクロの記録】でコード化してみてください。

13.CSV形式とエクセル形式でそれぞれ任意のフォルダに保存する

  エクセル形式で保存してから、CSV形式で保存すればOKですね。
  上記を【マクロの記録】でコード化してみてください。

(もこな2) 2021/02/15(月) 01:17


ご回答いただき、ありがとうございます。
以前に手作業でマクロの記録を試してみたのですが、うまくいきませんでした。
月によってデータの値や行数に違いもありますし、その月は良くても他の月で応用が利きませんでした。

データの値や行数に違いがあっても応用が利くコードを教えていただけますと幸いです。
お手数をおかけしすみませんが、よろしくお願いいたします。
(もも) 2021/02/15(月) 08:53


自動記録でできた「その月は良い」コードだけでも見せてください。
説明よりもそちらのほうが何をしたいのか伝わりますし
それの応用法を考えることもできます。
(ダミー人形) 2021/02/15(月) 09:06

 おはようございます ^^
もこな2 さんの下記、ご質問のお答えは?
>>9.Y列(「Z3」以下)をN列(「O3」以下)に転記する 
>> ちょっと意味がわかりません。「Z3」「O3」はセルの値のことを言っているのですか?
それと
>>1.セル「A1」〜「AQ2」まで「既定の文字列」を入れる(任意のファイルから引用してくる)
のさらなる、詳細と csvファイルのサンプルを2〜3行でいいので、ご呈示になると、多数アド
バイスが有るかもしれません  。。。← 多分 ^^;
数値を書式設定で文字列にすると、エラーコメント、緑の三角マーク。。。が出るかも
しれないので、そちらの対応も必要かもしれませんね。
テキストファイルとして読み込んでセルに書き出すのも一案かもですね。
済みません。早く解決すると良いですね。でわ。m(_ _)m
(隠居じーさん) 2021/02/15(月) 09:36

https://www.moug.net/tech/exvba/0060086.html
こちらがとても、参考になると思います。。。m(__)m
(隠居じーさん) 2021/02/15(月) 09:40

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.