tag:blogger.com,1999:blog-7242046146160328439.post547624611045262499..comments2022-04-09T17:25:42.176+09:00Comments on Excel Memo: VBAでシートの有無を確認するくおりあhttp://www.blogger.com/profile/05177060273299676004noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-7242046146160328439.post-1157548962839357892015-12-18T16:27:44.969+09:002015-12-18T16:27:44.969+09:00くおりあ様
コードの共有ありがとうございました。
現在以下Do While loopの繰り返し処理...くおりあ様<br /><br />コードの共有ありがとうございました。<br />現在以下Do While loopの繰り返し処理のコードの一部として活用させていただいているのですが、4周目で<br />Worksheets("分割入力テンプレート").Activate でインデックスが有効範囲にありませんというエラーが表示されます。何が問題なのでしょうか?<br /><br /><br /><br /><br />Option Explicit<br />Sub 分割先テンプレートコピー()<br /><br /><br />'変数宣言<br />Dim パス名 As String<br />Dim ファイル名 As String<br />Dim 貼付行 As String<br />Dim 選択範囲 As Range<br />Dim xWsheet As Worksheet<br /><br />'ファイル名取得<br /> パス名 = ActiveWorkbook.Path & "¥分割コピー¥"<br /> ファイル名 = Dir(パス名 & "*.xlsx")<br /><br />'ブックコピー<br /><br />Do While ファイル名 <> ""<br /> Workbooks.Open パス名 & ファイル名<br /><br />On Error Resume Next<br />Set xWsheet = Worksheets("分割入力テンプレート")<br />On Error GoTo 0<br />If xWsheet Is Nothing Then<br />' 該当のシートがない場合の処理 '<br />ActiveWindow.Close<br />Else<br />' 該当のシートがある場合の処理 '<br /><br />Worksheets("分割入力テンプレート").Activate<br /> <br /> Set 選択範囲 = Range("e10")<br /> Set 選択範囲 = 選択範囲.Resize(, 9)<br /> 選択範囲.Select<br /> Selection.Copy<br /> ActiveWindow.ActivateNext<br /> 貼付行 = Range("A65536").End(xlUp).Row + 1<br /> Range(Cells(貼付行, 1), Cells(貼付行, 1)).Select<br /> ActiveSheet.Paste<br /> <br /> <br /> ActiveWindow.ActivateNext<br /> ActiveWorkbook.Save<br /> ActiveWindow.Close<br /><br /><br /><br />End If<br /> <br /> ファイル名 = Dir()<br /> <br />Loop<br /><br /><br /> <br /> <br />End SubAnonymousnoreply@blogger.com