解決済み
Excel VBA の質問です。 画像の設問3、4がわからないです。設問3はifを使ってできるのですが、4へ繋げて方がわからないです。(Callを使うことはわかるのですが設定されているセル範囲に合計のみの反映の仕方がわからないです。) どなたか助けてくれませんか?
88閲覧
1150526708さん こんばんは 初心者っぽく書いてみたw Sub macro2_1() If Range("A2").Value <= 20 Then Range("B2").Value = Range("C12").Value Range("C2").Value = Range("A2").Value * Range("C13").Value Range("D2").Value = Range("B2").Value + Range("C2").Value ElseIf Range("A2").Value <= 50 Then Range("B2").Value = Range("C14").Value Range("C2").Value = Range("A2").Value * Range("C15").Value Range("D2").Value = Range("B2").Value + Range("C2").Value ElseIf Range("A2").Value <= 200 Then Range("B2").Value = Range("C16").Value Range("C2").Value = Range("A2").Value * Range("C17").Value Range("D2").Value = Range("B2").Value + Range("C2").Value ElseIf Range("A2").Value <= 500 Then Range("B2").Value = Range("C18").Value Range("C2").Value = Range("A2").Value * Range("C19").Value Range("D2").Value = Range("B2").Value + Range("C2").Value Else Range("B2").Value = Range("C20").Value Range("C2").Value = Range("A2").Value * Range("C21").Value Range("D2").Value = Range("B2").Value + Range("C2").Value End If End Sub Sub macro2_2() If Range("A2").Value <= 20 Then Range("B2").Value = Range("C12").Value Range("C2").Value = Range("A2").Value * Range("C13").Value ElseIf Range("A2").Value <= 50 Then Range("B2").Value = Range("C14").Value Range("C2").Value = Range("A2").Value * Range("C15").Value ElseIf Range("A2").Value <= 200 Then Range("B2").Value = Range("C16").Value Range("C2").Value = Range("A2").Value * Range("C17").Value ElseIf Range("A2").Value <= 500 Then Range("B2").Value = Range("C18").Value Range("C2").Value = Range("A2").Value * Range("C19").Value Else Range("B2").Value = Range("C20").Value Range("C2").Value = Range("A2").Value * Range("C21").Value End If Range("D2").Value = Range("B2").Value + Range("C2").Value End Sub Sub macro3_1() Dim 行 As Integer 合計 = 0 For 行 = 25 To 29 Range("A2").Value = Cells(行, 1).Value Call macro2_1 Cells(行, 2).Value = Range("D2").Value Next Range("B30").Value = Range("B25").Value + Range("B26").Value + Range("B27").Value + Range("B28").Value + Range("B29").Value End Sub Sub macro3_2() Dim 行 As Integer, 合計 As Single 合計 = 0 For 行 = 25 To 29 Range("A2").Value = Cells(行, 1).Value Call macro2_2 Cells(行, 2).Value = Range("D2").Value 合計 = 合計 + Range("D2").Value Next Cells(30, 2).Value = 合計 End Sub 参考まで
こんな感じで良いのでしょうか? Sub macro2() Dim Price As Range, n As String Select Case Range("A2").Value Case Is <= 20: n = "A" Case Is <= 50: n = "B" Case Is <= 200: n = "C" Case Is <= 500: n = "D" Case Is >500: n = "E" End Select Set Price = Range("A12:A20").Find(n) Range("B2") = Price.Offset(0, 2).Value Range("C2") = Range("A2").Value * Price.Offset(1, 2).Value Range("D2") = Range("B2") + Range("C2") End Sub Sub macro3() Dim i As Long For i = 25 To 29 Range("A2") = Cells(i, "A").Value Call macro2 Cells(i, "B") = Range("D2").Value Next i Range("B30") = WorksheetFunction.Sum(Range("B25:B29")) End Sub
< 自分のペースで、シフト自由に働ける >
パート・アルバイト(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る