ご回答者様
いつもお世話になっております。
表題の件、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つの列だけ...
-
文字列に数字を含むセルを調べたい
-
VBAで文字列を数値に変換したい
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
2つのエクセルのデータを同じよ...
-
Excelで、A列にある文字がB列...
-
エクセルの項目軸を左寄せにしたい
-
Excelで半角の文字を含むセルを...
-
エクセル 時間帯の重複の有無
-
エクセル(勝手に太字になる)
-
A列がない・・・A列が非表示に...
-
エクセルで文字が混じった数字...
-
「B列が日曜の場合」C列に/...
-
ExcelのVBAで連番を振る。
-
エクセル 同じ値を探して隣の...
-
EXCELで cuontifやsubtot...
-
ハイパーリンク情報を別セルへ...
-
【Excel VBA】特定の列以外を削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセルVBA、別ブックへ転記す...
-
エクセル 文字数 多い順 並...
-
エクセル(勝手に太字になる)
-
VBAで文字列を数値に変換したい
-
エクセルで文字が混じった数字...
-
エクセルの表から正の数、負の...
-
「B列が日曜の場合」C列に/...
-
Excelで半角の文字を含むセルを...
-
エクセルの並び変えで、空白セ...
-
Excel、市から登録している住所...
-
エクセル 同じ値を探して隣の...
-
EXCELで 一桁の数値を二桁に
-
エクセル初心者です 関数の入れ...
-
A列がない・・・A列が非表示に...
-
オートフィルターをかけ、#N/A...
-
エクセルで、列の空欄に隣の列...
おすすめ情報