質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

907閲覧

excelにて式のコピーをVBAで表記する方法を伺ってよろしいでしょうか?

ma2hiro

総合スコア159

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/09/16 06:05

お世話になっております。

今excelをいじるVBAを作成しており

excel

1   U V 2320 100  421 111 11 522 123 12【フォーカスココ】 623 246

上記excelで"V22"にフォーカスがありそちらが

=U22-U21

となっていて”V23”に

=U23-U22

とVBAで入れたいと思っております……
excel上でV22の右下で+を↓に持ってくる感じです……

このような式をコピーするやり方をVBAで実装するにはどのような語句でググれば良いか
相談にのって頂けないでしょうか?

ヒントでもお教えいただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

現在作成されているVBAのコードが書かれていないので不明な部分もありますが、
例えば

vba
Range("V22").Copy Range("V23")

と記述すれば、「セルV22をコピーして、セルV23に貼り付ける」という動作を 実現できます。 この場合、フォーカスの位置は関係ありません。 フォーカスのある(選択されている)セルをセルV23にコピー&ペーストするなら ```vba``` Selection.Copy Range("V23")

フォーカスのあるセルを、一つ下のセルにコピー&ペーストするなら

vba
Selection.Copy Selection.Offset(1, 0)

上記のコードの、Rangeオブジェクト、Copyメソッド、Selectionプロパティ、Offsetプロパティあたりで 検索すると、なさりたいことが実現できる方法が見えてくると思います。 他にも、オートフィルを使う(Range.AutoFillメソッド、「右下で+を↓に持ってくる」やり方)方法も あるかも知れません。

投稿2021/09/17 07:28

Chim2Cherry

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma2hiro

2021/09/17 08:03

Chim2Cherry様 コメントありがとうございます。 Range("V23").Formula = Range("V22").Formula みたいなのかなと思ってウンウン唸っていたのですが Range("V22").Copy Range("V23") とやればうまく出来ました。 ありがとうございましたm(_ _)m
ma2hiro

2021/10/04 02:54 編集

すいません…… Range("V22").Copy Range("V23") でやっていたのですが V列は変更ないのですが 変数monthで22とか23とかの値を変更したいと思っております。 …… 自己解決しました。 .Cells(gyou - 1, retsu + 1).Copy .Cells(gyou, retsu + 1) で出来ました。 トピ汚し失礼しました。
guest

0

投稿2021/09/16 06:10

hex309

総合スコア761

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問