![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
ご回答者様
いつもお世話になっております。
表題の件、VBAの質問です。
データという名前のシートの1行目にA列から得意先コード、B列に得意先名、C列に売上額、D列発生月と記載があります。
2行目からデータが入っています。(1行目は項目のみ)
D列の発生月ですが2020/8/1等になってしまていますのでE列に発生年度、F列に発生月という項目を作成しました。
E列にはIF(A2>=1,YEAR(D2),"")と数式を入れております。
F列にはIF(A2>=1,MONTH(D2),"")と数式を入れております。
売上額が円単位ですので千円単位に直すためにG列にIF(A2>=1,ROUNDUP(C2/1000,0),"")と数式を入れております。
下記内容が主な質問です。
A列には必ず得意先コードが入ります。(2000-07等。ブランクはありません。)
マクロでA列にデータが入っている行まで数式をコピー(セルの右下にカーソルを当てると十字になるのでダブルクリックをする)したいですがどのようにソースを記載すれば可能でしょうか。
できれば修正することを考えて列毎に数式をコピーしたいです。
恐れ入りますが何卒宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
こんばんは!
E~G列2行目の数式をA列最終行までフィル&コピー!の操作をVBAで行いたい!というコトですね。
一例です。
オートフィルの場合はマクロの記録でコードが取得できると思いますので、別の方法にしてみました。
Sub Sample1()
Dim j As Long
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
For j = 5 To 7 '//←E列~G列まで//
Range(Cells(2, j), Cells(lastRow, j)).Formula = Cells(2, j).Formula
Next j
End Sub
ちなみにオートフィルのコードだと
Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("E2:G2").AutoFill Destination:=Range(Cells(2, "E"), Cells(lastRow, "G"))
End Sub
こんな感じでしょうかね。
※ 後者の方がコード自体は短くてすみますね。m(_ _)m
お世話になります。
いただいたソースを使用したところ、マクロが動きました。
返信をしたつもりでしたができていませんでした。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル(勝手に太字になる)
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
VBAで文字列を数値に変換したい
-
エクセル 文字数 多い順 並...
-
「B列が日曜の場合」C列に/...
-
【VBA】特定列に文字が入ってい...
-
エクセルの列を範囲選択しての...
-
オートフィルターをかけ、#N/A...
-
VBAでセル入力の数式に変数を用...
-
エクセルの項目軸を左寄せにしたい
-
お店に入るために行列に並んで...
-
Excel、市から登録している住所...
-
エクセル 同じ値を探して隣の...
-
エクセルの表から正の数、負の...
-
エクセル 時間帯の重複の有無
-
【エクセル】指定した文字以外...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
VBAで文字列を数値に変換したい
-
エクセル(勝手に太字になる)
-
エクセルで文字が混じった数字...
-
「B列が日曜の場合」C列に/...
-
エクセルの表から正の数、負の...
-
Excelで半角の文字を含むセルを...
-
エクセル 同じ値を探して隣の...
-
Excel、市から登録している住所...
-
エクセルの項目軸を左寄せにしたい
-
EXCELで 一桁の数値を二桁に
-
VBA 連続行データを5行ずつ隣の...
-
エクセル 時間帯の重複の有無
-
オートフィルターをかけ、#N/A...
-
エクセルで、列の空欄に隣の列...
-
A列がない・・・A列が非表示に...
おすすめ情報