教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

Excel VBA の質問です。 画像の設問3、4がわからないです。

Excel VBA の質問です。 画像の設問3、4がわからないです。設問3はifを使ってできるのですが、4へ繋げて方がわからないです。(Callを使うことはわかるのですが設定されているセル範囲に合計のみの反映の仕方がわからないです。) どなたか助けてくれませんか?

続きを読む

88閲覧

回答(2件)

  • ベストアンサー

    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

    続きを読む

< 自分のペースで、シフト自由に働ける >

パート・アルバイト(東京都)

この条件の求人をもっと見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

      < いつもと違うしごとも見てみませんか? >

      覆面調査に関する求人(東京都)

      この条件の求人をもっと見る

      Q&A閲覧数ランキング

      カテゴリ: すべて

      転職エージェント求人数ランキング

      • 1

        続きを見る

      • 2

        続きを見る

      • 3

        続きを見る

      あわせて読みたい
      スタンバイプラスロゴ

      他の質問を探す

      答えが見つからない場合は、質問してみよう!

      Yahoo!知恵袋で質問をする

      ※Yahoo! JAPAN IDが必要です

      スタンバイ アプリでカンタン あなたにあった仕事見つかる