teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/10/22 03:44

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -11,10 +11,10 @@
11
11
  Dim i, r, n
12
12
  With zen.UsedRange
13
13
  For i = 2 To .Rows.Count
14
- n = .Cells(i, 1).Value
14
+ n = .Cells(i, 1).Value '名前
15
- Set dest = Worksheets(.Cells(i, 3).Value)
15
+ Set dest = Worksheets(.Cells(i, 3).Value) '所属(転記先シート)
16
- r = dest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
16
+ r = dest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1 '転記先の行番号
17
- dest.Range("A" & r).Value = n
17
+ dest.Range("A" & r).Value = n 'ソート用
18
18
  .Rows(i).Copy dest.Cells(r, 2)
19
19
  dest.Sort.Apply
20
20
  Next
@@ -25,9 +25,9 @@
25
25
  n = .Cells(i, 1).Value
26
26
  Set dest = Worksheets(.Cells(i, 3).Value)
27
27
  If WorksheetFunction.CountIf(dest.Columns(1), n) = 0 Then
28
- r = dest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
28
+ r = dest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
29
29
  Else
30
- r = WorksheetFunction.Match(n, dest.Columns(1), 0)
30
+ r = WorksheetFunction.Match(n, dest.Columns(1), 0) '既にある場合はその行
31
31
  End If
32
32
  dest.Range("A" & r).Value = n
33
33
  .Rows(i).Copy dest.Cells(r, 10)
@@ -35,7 +35,7 @@
35
35
  Next
36
36
  End With
37
37
 
38
- For Each dest In Worksheets
38
+ For Each dest In Worksheets 'ソート用のワーク列をクリア
39
39
  If dest.Name <> zen.Name And dest.Name <> tou.Name Then dest.Columns(1).ClearContents
40
40
  Next
41
41
  End Sub