[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ExcelVBAのエラーについて』(ゆゆゆ)
エラーについての質問です。。
2つそれぞれに以下の部分でエラーと表示されてしまいます。。
実行したい内容、問題の箇所はそれぞれ以下の部分です。
超初心者で、どこをどう修正していいのか分かりません。。
どの部分で修正が必要なのか、教えていただけないでしょうか。。
<sample1>
内容:「サンプルマクロ.xlsm」の「表紙」シートのA4に記載したパスのフォルダに保存している
.xlsx形式のファイルを開いて、アクティブシートをマクロファイルにコピー。
開いたファイルは閉じる。フォルダ内のすべてのファイルで繰り返す。
エラー箇所:Workbooks.Open (FileName)
→ファイル形式またはファイル拡張子が正しくありません。
<sample2>
内容:マクロファイルの2シート目をコピーして、
マクロファイルを保存しているフォルダに、
「表紙」シートA29に入力しているファイル名かつxlsx形式で保存する。
エラー箇所:ActiveWorkbook.SaveAs FileName:=myFile
→'SaveAs' メソッドは失敗しました: '_Worksheet' オブジェクト
※どちらも、セルに記載したフォルダパス、ファイル名を
引用したいのですが、そこも上手くいきません。。
Dim FileName As String Dim OpenedBook As Workbook Dim IsBookOpen As Boolean
filepath = Sheets("表紙").Range("A4").Value
FileName = Dir("*.xlsx")
Do While FileName <> "" If FileName <> ThisWorkbook.Name Then IsBookOpen = False For Each OpenedBook In Workbooks If OpenedBook.Name = FileName Then IsBookOpen = True Exit For End If Next If IsBookOpen = False Then Workbooks.Open (FileName) cnt = Workbooks("サンプルマクロ.xlsm").Sheets.Count ActiveSheet.Copy _ After:=Workbooks("サンプルマクロ.xlsm").Sheets(cnt) Workbooks(FileName).Close SaveChanges:=False End If End If FileName = Dir() Loop Sheets("表紙").Select End Sub
Sub sample2() Dim xSheet As Worksheet Dim myFile As String Dim myName As String Set xSheet = Sheets("表紙") ThisWorkbook.Worksheets(2).Copy myFile = ThisWorkbook.Path & "\" & xSheet.Range("A29").Value & ".xlsx" Application.DisplayAlerts = False ActiveWorkbook.SaveAs FileName:=myFile Application.DisplayAlerts = True ActiveWorkbook.Close End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
ブレイクポイントを設定するかMsgBox関数を使って開く直前のFileNameを確認してはどうか。 あと、本題とは関係ないが >If FileName <> ThisWorkbook.Name Then ThisWorkbookはマクロのあるブックになるので.XLSMか.XLSになり必ず一致しないことになると思うが。
(ねむねむ) 2018/05/21(月) 13:46
>ブレイクポイントを設定するかMsgBox関数を使って開く直前のFileNameを確認してはどうか。
こちらですが、超素人のため自分ではどこをどうしたらよいのかわかりませんでした。。
どの部分にどのような処理を入れるべきなのか、再度教えていただけないでしょうか。。
(ブレイクポイントもMsgBox関数もまだ使ったことがありません。。)
>>If FileName <> ThisWorkbook.Name Then >ThisWorkbookはマクロのあるブックになるので.XLSMか.XLSになり必ず一致しないことになると思うが。 こちらもありがとうございます!!こちらはもう一度考えなおしてみます・・! (ゆゆゆ) 2018/05/22(火) 16:45
>Workbooks.Open (FileName) (本来ここのカッコはいらない) この前に MsgBox FileName を入れて置きFileNameがどんな値になっているかを確認する。 問題を解決する方法ではなく、何が問題になっているかを調べるための手段。 (ねむねむ) 2018/05/23(水) 10:02
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.