1401669282 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です。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/06/02 09:34:42
  • 終了:2014/06/02 12:54:37

ベストアンサー

id:foobar_777 No.1

foobar_777回答回数78ベストアンサー獲得回数182014/06/02 11:57:38

ポイント100pt
'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
id:taroemon

ご回答有難うございます。
うまくいきました。

2014/06/02 12:54:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません