- ベストアンサー
excel プログラミング
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず画像をもとに簡単に作ってみましたが セル内の表示形式とか 文字列で入力された時のエラー処理はしてません 内容は自分で理解してください Private Sub CommandButton1_Click() Dim Jinkou As Double Dim Zouka_ritsu As Double Dim Zouka_nen As Integer Jinkou = TextBox1.Text Zouka_ritsu = 1 + (TextBox2.Text / 100) Zouka_nen = TextBox3.Text Kekka = 0 Dim i As Integer For i = 1 To Zouka_nen Jinkou = Jinkou * Zouka_ritsu Sheets("sheet1").Cells(i, 1).Value = i & "年目" Cells(i, 2) = Jinkou Next 'とりあえず小数点以下を10桁まで TextBox4.Text = Round(Jinkou, 10) End Sub
その他の回答 (4)
- freetaka
- ベストアンサー率53% (106/197)
修正 kekka = 0 はいらないです・・・
- hallo-2007
- ベストアンサー率41% (888/2115)
問題は自分で考えてくださいね 基本形だけ テキストボックスが上から順にTextbox1~4だとして Private Sub CommandButton1_Click() TextBox4.Value = TextBox1.Value For i = 1 To TextBox3.Value TextBox4.Value = TextBox4.Value * (1 + TextBox2.Value / 100) Cells(i, 1).Value = TextBox4.Value Next End Sub ざ~とこんな感じです。 それぞれの意味は分かりますかね? シートの構成やテキストボックスが空白、あるいは文字列だったりした時のエラー処理 などは自分で考えてください。
- ooooku
- ベストアンサー率13% (121/905)
- mu2011
- ベストアンサー率38% (1910/4994)
>年後にはどのくらいに増えているか? ⇒普通に複利計算で良いと思う。 年後の人数=ベース人数*(1+0.05)^年数 >またワークシートに1年ごとの計算結果を出力 ⇒年=行として次にような感じでしょうか。 For 年数 = 1 To 年数 Cells(年数,1).Value = ベース人数*(1+0.05)^年数 Next
お礼
おー!! これで分かりました!! ありがとうございました<m(__)m> 感謝感謝です。