- ベストアンサー
~VBAで自動計算~
ボタンを押したら 材料購入費(円)+制作時間×チャージ=投資金額 となり、なおかつ 材料購入費と制作時間の数値は自由に入力でき、 チャージだけは (1)2,600円/時間 (2)43.3円/分 (3)0.72円/秒 の 三択から選び、それを計算し 計算結果はセルに表示される… といったマクロを作成したいのですが これはマクロで作成可能でしょうか?; 関数などを利用した方が良いのでしょうか; アドバイスをお願い致します; わかりづらい文章でしたらスミマセン;
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでどうでしょう? A1=材料購入費(円) B1=制作時間 として、結果を C1=投資金額 へ出力 但し、条件として制作時間の入力には 時間(HOUR)=1h、2.5h 分(MINUTE)=1m、5m 秒(SECOND)=1s、10s の様に各単位を半角で付けて入力 Sub test() Dim i As Single Select Case Right(Range("b1").Value, 1) Case "h": i = Left(Range("b1").Value, Len(Range("b1").Value) - 1) * 2600 Case "m": i = Left(Range("b1").Value, Len(Range("b1").Value) - 1) * 43.3 Case "s": i = Left(Range("b1").Value, Len(Range("b1").Value) - 1) * 0.72 Case Else: i = 0 End Select Range("c1").Value = Format(Range("a1").Value + i, "#.##") End Sub もう一つ 結果を入力したいセルを選択してから マクロ「test2」を実行してください Sub test2() Dim i As Single Dim 材料購入費 As Long Dim 制作時間 As String 材料購入費 = InputBox("材料購入費(円)を入力してください") 制作時間 = InputBox("制作時間の入力" & vbCrLf & _ "但し、単位を半角で付加してください" & vbCrLf & "(時間: h 分: m 秒: s )") Select Case Right(制作時間, 1) Case "h": i = Left(制作時間, Len(制作時間) - 1) * 2600 Case "m": i = Left(制作時間, Len(制作時間) - 1) * 43.3 Case "s": i = Left(制作時間, Len(制作時間) - 1) * 0.72 Case Else: i = 0 End Select Selection.Value = Format(材料購入費 + i, "#.##") End Sub 参考まで
その他の回答 (1)
- nda23
- ベストアンサー率54% (777/1415)
できます。たいしたことないです。 まぁ、プロだから、これくらいは訳ないです。 先ず、「材料購入費と制作時間の数値」は 取得できますか? 次に三択を選ばせる画面の作り方、最後に 計算結果をセルに反映させる方法 これを細かく具体的に質問すれば、回答を 得られますので、それを繋ぎ合わせれば、 自然と希望のマクロを作ることが出来るように なるものです。
お礼
ただわからないわからないと言っている だけではダメですね わかるところはこれから書くように できるだけ具体的な質問文になるよう 努力します<(_ _)> アドバイスありがとうございました
お礼
お礼が遅くなり申し訳ありませんでした。 難しいマクロで作成されていて なかなか理解ができませんでしたが とても参考になりました! ありがとうございました!