[[20210122213408]] 『データーを転記したファイルを作成したい』(のじ) >>BOT

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『データーを転記したファイルを作成したい』(のじ)

マクロの知識が乏しいので、お詳しい方、教えてください。

「作業シート」というシートに上記で記載した並び順で
データがあります。

下記の並び順のデータをP列の派遣会社ごとにシートを作成し、A〜G列のデータを転記したいです。
また、作業シートのデータはすべて数式が入っているので
転記する際は値で貼り付けたいです。

*作業シート
A列〜P列
A列:日付
B列:社員番号
C列:スタッフ姓
D列:スタッフ名
E列:出勤時間
F列:退勤時間
G列:休憩合計
H列〜K列:15分、30分、45分、60分(作業列)
L列〜O列:15分、30分、45分、60分
P列:派遣会社 件数は30社程

以前、6列ある同じようなデータを転記するマクロを調べて作成したのですが今回16列ある場合の修正の仕方がわかりません。
マクロの知識が乏しい為、ご教授願います。


Sub 転記()
Dim データ範囲 As Range
Dim 条件範囲 As Range
Dim 列 As Long
Dim シート As Worksheet
Dim i As Long
Set データ範囲 = Range("A1").CurrentRegion
    列 = 6
Set 条件範囲 = データ範囲.Cells(1).Offset(0, データ範囲.Columns.Count + 1)
    データ範囲.Columns(列).AdvancedFilter Action:=xlFilterCopy, _
    CopyToRange:=条件範囲, Unique:=True
Set 条件範囲 = 条件範囲.CurrentRegion
For i = 2 To 条件範囲.Rows.Count
    条件範囲.Cells(2, 1).Value = 条件範囲.Cells(i, 1).Value
Set シート = Worksheets.Add(after:=Worksheets(Worksheets.Count))
    シート.Name = 条件範囲.Cells(2, 1).Value
    データ範囲.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=条件範囲.Rows("1:2"), CopyToRange:=シート.Range("A1")
    シート.Range("A1").CurrentRegion.EntireColumn.AutoFit
Next i
    条件範囲.Clear
End Sub

< 使用 Excel:unknown、使用 OS:unknown >


3箇所修正

 1)
 >列 = 6
   ↓
  列 = 16

 2)
  >シート.Name = 条件範囲.Cells(2, 1).Value

  この次に、1行追加

  データ範囲.Range("A1:F1").copy シート.Range("A1")

 3)
 >CopyToRange:=シート.Range("A1")
        ↓
  CopyToRange:=シート.Range("A1:F1")

(マナ) 2021/01/22(金) 21:53


マナ様

ご教授ありがとうございます。

週明け、修正してみます。

よろしくお願いします?
(のじ) 2021/01/22(金) 22:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.