|
▼yata さん:
yataさん こんばんわ。
一つ問題があります。マクロを記入したのですが、「R=UsedRange.Rows.Count」のところで実行不能になります。「R=Rows.Count」と書き換えましたが、そのときに「Case DateValue(md1)」の部位にて実行不能になります。
何がどのようにいけないのでしょうか?
>素人じゅうすけ さん こんばんわ
>ごめんなさい。返信が遅くなりました。
>>再度の質問、申し訳ありません。
>>計算式のマクロは、「’引き算をして別シートへ表示」の部位(つまりは、NEXTとWITH SHEETSの間)に打ち込めば好いのでしょうか?
>「計算式のマクロ」とはどのような式を入れたいのですか?。
>計算はここで出来ていますが
>With Sheets("Sheet2")
> '使われている最終行番号
> EndRow = .Range("A65536").End(xlUp).Row
> .Cells(EndRow + 1, 1) = 期間
> .Cells(EndRow + 1, 2) = Cells(r2, 2) - Cells(r1, 2)
> .Cells(EndRow + 1, 3) = Cells(r2, 3) - Cells(r1, 3)
>End With
>元データがSheet1にあって、Sub Test1()〜End SubまでがSheet1のコードにあれば、
>Sheet2の1行目に項目が入力してあれば、InputBoxで日付を 8/31,9/30[OK]、9/30,10/31[OK]、・・
>
>とするたびに、2行目、3行目・・・と追加されて表示されるはずですが?
>もう一つの方は1列目に項目が入力されていたら、1回目はB列に 2回目はB列がデータで埋まっているので、その右の列に・・・ということです。
>Cells(r2, 2) - Cells(r1, 2) は重量を引き算しています。
>Cells(r2, 3) - Cells(r1, 3) は金額を引き算しています
>EndRow + 1 は使っている行の下の行番号
>EndColumn + 1 は使っている右側の列番号 です。
>●2項目
>Sheet4に項目を入れておく。A1に人名 B1に数量
>
>Sub Test2()
>Dim R As Long, r2 As Long '元データの行数と転記先の行番号
>Dim 人名 As String
>Dim Sum As Double
>R = UsedRange.Rows.Count
>
>人名 = InputBox("抽出する人")
>
>For Each Rng In Range(Range("C2"), Cells(R, 3))
> If Rng.Value = 人名 Then
> 'G列から取り出して合計する
> Sum = Sum + Rng.Offset(0, 4).Value
> End If
>Next
> With Sheets(4)
> r2 = .Range("A65536").End(xlUp).Offset(1, 0).Row
> .Cells(r2, 1) = 人名
> .Cells(r2, 2) = Sum
> End With
>'降順に並べ替え
>With Sheets("Sheet4")
> .Activate
> 'データが1件以上あったら並び替えをする
> If .Range("A3") <> "" Then
> .Range("A1").Select
> Selection.Sort Key1:=.Range("B2"), Order1:=xlDescending
> End If
>End With
>End Sub
>
>C列に表示する日付について
>例えばA氏のデータが3件あった場合は?
|
|