Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2019)
シート名取得?
投稿日時: 23/07/07 18:49:57
投稿者: shamo

お世話になります。
 
下記のシートがあります。
 

支店CD	日付	項目	金額
11	6月1日	機械	1,000
11	6月2日	食品	1,100
11	6月3日	農機具	1,200
12	6月4日	機械	1,300
12	6月5日	食品	1,400
12	6月6日	農機具	1,500
16	6月7日	機械	1,600
16	6月8日	食品	1,700
16	6月9日	農機具	1,800
21	6月10日	機械	1,900
21	6月11日	食品	2,000
21	6月12日	農機具	2,100

 
支店CD事にシートを作成し、支店事の値をオートフィルタを用いてコピペしたいです。
 
Sub aaa()
Dim i As Integer
Dim myArray As Variant
myArray = Array(11, 12, 16,21)
For i = 0 To UBound(myArray)
  With Sheets.Add(After:=Sheets(Sheets.Count))
      .Name = myArray(i)
  End With
Range("A1").AutoFilter 1, myArray(i)
  Range("A1").CurrentRegion.Copy Sheets("myArray(i)").Range("A1")

  Range("A1").AutoFilter
Next i
End Sub
 
赤文字の部分でエラーが出てしまいます。
どうしたら良いでしょうか。

投稿日時: 23/07/07 19:07:02
投稿者: shamo

失礼しました<(_ _)>
下記コードの赤色の部分がエラーになります。
 
Sub aaa()
Dim i As Integer
Dim myArray As Variant
myArray = Array(11, 12, 16, 21, 22, 23, 25, 26, 27, 28, 31, 71)
For i = 0 To UBound(myArray)
  With Sheets.Add(After:=Sheets(Sheets.Count))
      .Name = myArray(i)
  End With
  With Worksheets("POS").Range("A1")
    .AutoFilter 1, myArray(i)
    .CurrentRegion.Copy Sheets("myArray(i)").Range("A1")
    .AutoFilter
  End With
Next i
End Sub

投稿日時: 23/07/07 19:20:35
投稿者: shamo

Sub aaa()
Dim i As Integer
Dim myArray As Variant
myArray = Array(11, 12, 16, 21, 22, 23, 25, 26, 27, 28, 31, 71)
For i = 0 To UBound(myArray)
  With Sheets.Add(After:=Sheets(Sheets.Count))
      .Name = myArray(i)
  End With
  With Worksheets("POS").Range("A1")
    .AutoFilter 1, myArray(i)
    .CurrentRegion.Copy Sheets(CStr(myArray(i))).Range("A1")
    .AutoFilter
  End With
Next i
End Sub
 
Strを使う事で解決できました。
失礼しました<(_ _)>