いつも助けていただきありがとうございます。
過去の質問を何種類か何度試してみてもうまく動きません。
内容過去の質問と重複するところもありますが、
何卒宜しくお願い致します。
A B C D ・・・・・
3 1 A1+x A1+y A1+z ・・・・・
4 2 A2+x A2+y A2+z ・・・・・
5 3 ・ ・ ・ ・・・・・
6 4 ・ ・ ・ ・・・・
A1の数が関係する数式B1:D1の関数を、
A列が存在する最終行まで同様に関数貼り付けするマクロを作りたいのですが、
うまくいきません。
A列は途中で途切れることもないですし、
実際に貼り付けたい式はVLOOKUPを使った式です。
また、式はシートの先頭(1列目)が開始ではなく3列目や4列目です。
使用Excelは2007です。
過去の質問からRange("A1", Cells(Rows.Count, 1).End(xlUp)).Offset(, 1).Resize(, 3).Formula = Range("B1:D1").Formula
という式はみつけたのですが、
正直どのように加工していいかわかりません。
貼り付け作業はするのですが、関係ない場所に貼ってしまいます。
詳しい方、ご教授下さい。
マクロは最近使うようになった初心者です。
他に必要な情報があれば記載しますのでご指摘下さい。
No.3ベストアンサー
- 回答日時:
B3:K3には既に式が入っているということですね。
であれば以下です。
Sub Sample()
Dim sCol As String, eCol As String
Dim sRow As Long, eRow As String
sCol = "B" ' 対象開始列
eCol = "K" ' 対象終了列
sRow = 3 ' 開始行
eRow = Cells(Rows.Count, "A").End(xlUp).row
Range(Cells(sRow, sCol), Cells(sRow, eCol)).AutoFill _
Destination:=Range(Cells(sRow, sCol), Cells(eRow, eCol)), _
Type:=xlFillDefault
End Sub
No.2
- 回答日時:
以下で参考になるでしょうか。
B列~D列に以下の式を書きみます。
B列 = An + 1
C列 = An + 2
D列 = An + 3
Sub Sample()
Dim 行 As Long
Dim 列 As Long
Application.ScreenUpdating = False
行 = 3 ' 開始行
列 = 2 ' B列
Do While Cells(行, "A").Value <> "" ' A列に値が有る間繰り返す
Cells(行, 列).Formula = "=A" & 行 & "+1" ' B列に書く式
Cells(行, 列 + 1).Formula = "=A" & 行 & "+2" ' C列に書く式
Cells(行, 列 + 2).Formula = "=A" & 行 & "+3" ' D列に書く式
行 = 行 + 1
Loop
Application.ScreenUpdating = True
End Sub
ありがとうございます。
簡単な式で試した結果、無事動作しました。
私が書いた情報不足で申し訳ないのですが、
この方法でも可能ですが、実際はK3ぐらいまで式が入っていたり、
空白だったりしております。
それ全てを含めてA行に数値が存在するところまで貼り付けたいです。
マウス動作で言いますと、B3からK3までを選択し、
セルの右下の■をダブルクリックした動作を命令したいのです。
大変わかりやすく書いていただきありがとうございます。
引き続きお答えいただけると助かります。
No.1
- 回答日時:
>>数式B1:D1の関数を
ここの意味が不明。
貼り付ける場所はどこ?
例えば、E列にVLOOKUPの式を貼り付けるなら
END = ActiveSheet.Range("A1").End(xlDown).Row
ActiveSheet.Range("E1:E" & END).Formula = "=VLOOKUP・・・・"
又は
ActiveSheet.Range("E1:E" & ActiveSheet.Range("A1").End(xlDown).Row).Formula = "=VLOOKUP・・・・"
わかりづらく申し訳ございません。
列はK行までA行の数を使った数式が入っております。
3列目のB3から始まりK3まである数式を
A行に数値が存在するところまで貼り付けたい
という意味です。
マウス作業でいうと、
B3からK3を選択してセルの右下ダブルクリックです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 別シートに順番で貼り付け 2 2023/04/13 19:53
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
エクセルで二つの数字の小さい...
-
LOOKUP関数を使えばいいのでし...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
VBAで文字列を数値に変換したい
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
エクセルの並び変えで、空白セ...
-
EXCELで 一桁の数値を二桁に
-
エクセルの表から正の数、負の...
-
Excel、市から登録している住所...
-
エクセルで文字が混じった数字...
-
A列がない・・・A列が非表示に...
-
エクセルの項目軸を左寄せにしたい
-
エクセルで一列おきに空白列を...
-
【ACCESS/必須条件とOR条件を組...
-
エクセルの隣り合う列のグループ化
-
エクセル(勝手に太字になる)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報
投稿時、わかりづらい表に変換されていますが、
1番左は3列4列5列という意味です。
数式は例で適当に作っただけです。
見づらくてすみませんが、宜しくお願い致します。
例えばB3からK3を選択して右下の■をダブルクリックした動作を命令したいのです。
すると、A行に数値が存在するところまで自動で貼り付けができます。
A行には空白がありません。
これをマクロで指示する式を教えていただきたいです。