人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel VBAで次のプログラムを作って下さい。

【実行前】
・A3に任意の文字列、C6とC9に任意の数字が入っています。
・xはC列の最終行、nは1?xまでの間の任意の行の数字を指してるとします。
・C列には任意の文字列がx行(図では20行。場合によって違う)まで記入されています。
・H列には任意の数値がx行まで記入されています。

【マクロを実行後】
・BnにはA3とCnの文字列が結合し、Bxまで記入される。
・D1からDxまで数字の「1」が記入される。
・EnにはHn÷A6+A9の数字がExまで記入される。
・FnにはEnの80%の数字がFxまで記入される。
・GnににはEnの120%の数字がGxまで記入される。

VBA初心者が後でカスタマイズしやすいように
コメントを多めに振ってもらえると助かります。

環境はWindows7、Excel2014です。
よろしくお願いします。

1401669282
●拡大する

●質問者: taroemon
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● foobar_777
●100ポイント ベストアンサー
'http://q.hatena.ne.jp/1401669282
Sub sample1()
  'A3に任意の文字列
 str_A3 = Range("A3").Value
 
  'A6とA9に任意の数字
 val_A6 = Range("A6").Value
 val_A9 = Range("A9").Value
 
 
 
  '□1から□xまで 出力繰り返し(但し□=B?G)
 Line = 1
 While (Cells(Line, "C").Value <> "")  'C列(3列目)が入っている間
  'BnにはA3とCnの文字列が結合
 Cells(Line, "B").Value = str_A3 & Cells(Line, "C").Value
 
  'D1からDxまで数字の「1」
 Cells(Line, "D").Value = 1
 
  'EnにはHn÷A6+A9の数字
 tmp_En = (Cells(Line, "H").Value / val_A6) + val_A9
 Cells(Line, "E").Value = tmp_En
 
  'FnにはEnの80%の数字
 Cells(Line, "F").Value = tmp_En * 0.8
 
  'GnににはEnの120%の数字
 Cells(Line, "G").Value = tmp_En * 1.2
 
 
  '次の行へ
 Line = Line + 1
 Wend
End Sub

taroemonさんのコメント
ご回答有難うございます。 うまくいきました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ