[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定のセルに入力した数値の回数分、数式を横方向にコピーする方法』(こみい)
下記のようなデータがあります。
A B C D E F G H I J 1 (8)←Input Box 2 7月 8月 →横方向に8回コピー 3 4 5 セルB1をInput Boxとして、セルB2に入っている数式を セルC2からセルJ2まで8回コピーすることはできますでしょうか?
不要な情報かもしれませんが、
セルA2の「7月」は別シートを参照していて、2016/7/1ですが
表示形式を「7月」としています。
セルB2の数式は、=DATE(YEAR(A2),MONTH(A2)+1,DAY(A2)) です。
初めて質問させていただきます。
何卒よろしくお願いいたします。(こみい)
< 使用 Excel:Excel2013、使用 OS:Windows7 >
(マナ) 2016/04/26(火) 19:49
B1に入力する最大値がどのくらいかわかりませんけど、 数式をそれより少し多めにコピーしておいて、表示だけB1の回数分でもいいのなら
B2 =IF(COLUMN(A1)>$B$1,"",DATE(YEAR(A2),MONTH(A2)+1,1)) または B2 =IF(COLUMN(A1)>$B$1,"",EDATE(A2,1))
表示形式〜ユーザー定義 m"月"
この式をB1の最大値より少し多めにコピーしておく、
とか。 (笑) 2016/04/26(火) 19:51
笑様
ありがとうございます。
最大値が100くらい、最小だと10くらいなので、
出来れば数値分コピーをするようなマクロを組みたいです。
条件付きの書式設定をしていまして、この数値分の表が出来るようにしています。
よろしくお願いいたします
(こみい) 2016/04/26(火) 20:00
予めB2に数式が入力されているなら
Sub test() [b2].Resize(, [b1]).Formula = [b2].Formula End Sub (seiya) 2016/04/26(火) 21:17
(笑)様
Input Boxに回数を40と入力しても、31個分しかコピーできませんでした。
申し訳ありませんが、よろしければ引き続きご教示お願いいたします。
(こみい) 2016/04/27(水) 09:55
こういうことじゃないの? http://firestorage.jp/download/f567d7d1aa088e5133d2b65cb575373b24961edf ダウンロードパスワード 2nnfj7bx (seiya) 2016/04/27(水) 10:10
もしInputBoxが必要ならこっちで... Sub test() Dim myNum As Long myNum = Application.InputBox("月数を入力", , , , , , , 1) If myNum > 0 Then [b2].Resize(, myNum).Formula = [b2].Formula End Sub
(seiya) 2016/04/27(水) 10:30
笑様
Aの位置が実際の表ではIだったので、9列分引かれておりました。
解決の数式が分からなかったので、Aに隠し数値?のようにしたら解決いたしました。
皆様ご丁寧にご教授いただき本当にありがとうございました。
エクセルに関わらずネットに投稿することが初めての経験だったのですが、
このように親切にしていただき、本当に感謝・感激です。
今後ともよろしくお願いいたします。
(こみい) 2016/04/27(水) 11:00
数式の COLUMN(A1) を COLUMN(I1) とかに変えた、ということ?
最初の日付がどの列にあろうが COLUMN(A1) を変更したらダメですよ。
I2に最初の日付で、J列から数えて、ということなら
J2 =IF(COLUMN(A1)>$B$1,"",EDATE(I2,1)) 右へコピー
参考まで。 (笑) 2016/04/27(水) 12:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.