|
ユーザーフォームを使って指定した名前のシートをつくる構文を
人から教えてもらいました。(元リストからフィルタをかけてコピー貼り付け)
これを応用して、シート「マスタ」のA列に記入してある名称を全て
一括でつくる式を作りたいと思いますが、全く切り口がわかりません。
Loopを使えば??とは思うのです・・。
もう少しレベルを落とした形で教えてもらうことは可能でしょうか。
Sub Samp()
Dim i As Integer, col As Integer, frg As Integer, SheName As String
col = Worksheets("マスタ").UsedRange.Columns.Count
cu = ThisWorkbook.Worksheets.Count
SheName = CStr(ListBox1)
For i = 1 To cu
If Worksheets(i).Name = SheName Then
frg = 1
Exit For
End If
Next i
If frg <> 1 Then
Sheets.Add
ActiveSheet.Name = SheName
For i = 1 To col
ActiveSheet.Columns(i).ColumnWidth = _
Worksheets("マスタ").Columns(i).ColumnWidth
Next i
Else
Worksheets(SheName).Cells.ClearContents
End If
With Worksheets("マスタ").Range("A1")
.AutoFilter Field:=1, Criteria1:=ListBox1
.CurrentRegion.SpecialCells(xlVisible).Copy Worksheets(SheName).Range("A1")
.AutoFilter
End With
End Sub
|
|