Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


55160 / 76738 ←次へ | 前へ→

【26356】Re:売上の一覧を販売者単位でシートに集...
回答  kobasan  - 05/7/2(土) 13:49 -

引用なし
パスワード
   ▼yasu さん 今日は。

別解ですが参考にしてください。
E1にデータ入れなくてもよくなっています。

Option Explicit
Private OrgSheet As String

Sub 名別にシート貼付け()
Dim Filterkey As String
Dim c As Range
Dim X() As Variant
Dim n As Long, i As Long
  OrgSheet = "Sheet1"  '<=="Sheet1"を "売上一覧"に置き換え
  Application.ScreenUpdating = False
  '-----2列目の無重複データ作成
  With Sheets(OrgSheet)
    n = 0
    For Each c In Range("B2", Sheets(OrgSheet).Cells(65535, 2).End(xlUp))
      If Application.CountIf(.Range("B2", c), c.Value) = 1 Then
        n = n + 1
        ReDim Preserve X(1 To n)
        X(n) = c.Value
      End If
    Next
  End With
  '-----抽出・コピー・貼付
  For i = 1 To UBound(X)
    '-----抽出・コピー
    Filterkey = X(i)
    del_sheet Filterkey
    Sheets(OrgSheet).Select
    Range("A2").AutoFilter Field:=2, Criteria1:=Filterkey
    Range("A1").CurrentRegion.Offset(1).Copy
    '-----貼付
    ActiveWorkbook.Worksheets.Add.Name = Filterkey
    Sheets(Filterkey).Cells(1, 1).PasteSpecial Paste:=xlAll
    '           .PasteSpecial Paste:=xlValues
    '-----小計を格納
    Set c = Sheets(Filterkey).Cells(65535, 1).End(xlUp)
    c.Offset(1, 0) = "計" '<<<変更
    小計 c
    Sheets(OrgSheet).AutoFilterMode = False  'AutoFilterの解除
  Next

  Application.CutCopyMode = False   'CopyModeの解除
  Set c = Nothing
End Sub

Sub 小計(c As Range)
  c.Offset(1, 3) = Application.Subtotal(9, Sheets(OrgSheet).Columns(4))
End Sub

Sub del_sheet(Filterkey As String)
  On Error Resume Next
  Application.DisplayAlerts = False
  Sheets(Filterkey).Delete
  On Error GoTo 0
  Application.DisplayAlerts = True
End Sub

0 hits

【26342】売上の一覧を販売者単位でシートに集計する yasu 05/7/2(土) 8:32 質問
【26343】Re:売上の一覧を販売者単位でシートに集計... ぴかる 05/7/2(土) 8:41 発言
【26346】Re:売上の一覧を販売者単位でシートに集計... yasu 05/7/2(土) 9:34 質問
【26347】Re:売上の一覧を販売者単位でシートに集計... ぴかる 05/7/2(土) 10:03 発言
【26351】Re:売上の一覧を販売者単位でシートに集計... yasu 05/7/2(土) 11:53 質問
【26352】Re:売上の一覧を販売者単位でシートに集計... ぴかる 05/7/2(土) 12:34 発言
【26356】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/2(土) 13:49 回答
【26357】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/2(土) 15:03 質問
【26359】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/2(土) 16:11 回答
【26360】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/2(土) 16:43 お礼
【26361】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/2(土) 16:48 回答
【26363】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/2(土) 18:38 お礼
【26365】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/2(土) 19:21 回答
【26366】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/2(土) 21:37 回答
【26369】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/3(日) 9:30 お礼
【26378】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/3(日) 22:00 回答
【26410】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/4(月) 18:16 質問
【26413】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/4(月) 19:34 回答
【26446】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/5(火) 20:08 質問
【26450】Re:売上の一覧を販売者単位でシートに集... kobasan 05/7/5(火) 21:01 回答
【26458】Re:売上の一覧を販売者単位でシートに集... yasu 05/7/5(火) 22:39 お礼

55160 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free