Web Board

日記へ / ツリー表示 / 新規投稿 / 新着表示
コメントをつける / 削除する
Subject: Re: シートの大量コピー
Date: 2008/07/28 15:33
From: oyaji
X-URL: (URL)

'ワークシ−トのコピー追加
Private Sub CommandButton7_Click()

Dim ws As Variant
Dim sn As Variant
Dim i As Integer
Dim x As Integer
Dim sc As Integer

On Error GoTo damedesuyo
Application.ScreenUpdating = False
sn = ActiveSheet.Name
i = Val(TextBox2.Text)
ws = TextBox1.Text
sc = Sheets.Count

If i + sc < 256 Then
Sheets(sn).Select
Sheets(sn).Copy
For x = 1 To i
Sheets.Add(after:=ActiveSheet).Name = ws & (x)
Next
Else
MsgBox "ワークシートの数がおおすぎまっせ〜\(__ ) ハンセイ"
Exit Sub
End If

Sheets(sn).Select
Range("a1").Select
Unload Me

Exit Sub
damedesuyo:
MsgBox "あらエラーになっちゃった。ワークシート名が悪いのかなー(・・?"
Application.CutCopyMode = False
ListBox1.Clear
For Each ws In Worksheets
If ws.Visible = True Then
ListBox1.AddItem ws.Name
End If
Next ws
MsgBox "変な名前のシートが追加されていたら削除してね(ToT)"
End Sub

'シート名書き出し
Private Sub CommandButton9_Click()

Dim i As Long
On Error GoTo damedesuyo
For i = 1 To Sheets.Count
ActiveCell.Offset(i - 1, 0).Value = Sheets(i).Name
Next i
Unload UserForm1

Exit Sub

damedesuyo:
MsgBox "保護されているセルが有りますよ。(・_)\ペチ"
Unload UserForm1

End Sub
昔、似たようなのをニフティのフォーラムに出入りしていたとき作って便利ツールバーのアドインに登録してフォームに入れて使っています