0
複数の同じブックでマクロを実行し、それらのブックの最初のシートを新しいブックにマージしようとしています。合併部分はインターネットのおかげで働いていますが、私は "マクロを実行する"部分をダウンさせるようには見えません。ここでは、これまでに私のコードです:私はマクロの実行を得るためのさまざまな方法を試してみました閉じたExcelブックでマクロを実行し、結果を新しいブックにマージする
Sub MergeSelectedWorkbooks()
Dim SummarySheet As Worksheet
Dim FolderPath As String
Dim SelectedFiles() As Variant
Dim NRow As Long
Dim FileName As String
Dim NFile As Long
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
Set SummarySheet = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
FolderPath = "..."
ChDrive FolderPath
ChDir FolderPath
SelectedFiles = Application.GetOpenFilename(_
filefilter:="Excel Files (*.xl*), *.xl*", MultiSelect:=True)
NRow = 1
For NFile = LBound(SelectedFiles) To UBound(SelectedFiles)
' Set FileName to be the current workbook file name to open.
FileName = SelectedFiles(NFile)
Set WorkBk = Workbooks.Open(FileName)
Run "Détaildesmlh_Bouton1_Cliquer" #this is what doesn't work
SummarySheet.Range("A" & NRow).Value = FileName
Set SourceRange = WorkBk.Worksheets(1).Range("A1:G19")
Set DestRange = SummarySheet.Range("B" & NRow)
Set DestRange = DestRange.Resize(SourceRange.Rows.Count, _
SourceRange.Columns.Count)
DestRange.Value = SourceRange.Value
NRow = NRow + DestRange.Rows.Count
WorkBk.Close savechanges:=True
Next NFile
SummarySheet.Columns.AutoFit
End Sub
は、私が上記追加したコードが存在しないか、アクティブではないんいずれかのマクロため、エラーが返されます。回避策はありますか?私はオンラインで見つけたソリューションを調べてみましたが、残りのコードでは動作しないか、非常に複雑に見えます。
ありがとうございます!上記
ファイルは正しく開きますが、ブックにはマクロがないすべてのマクロが無効になっていることを確認します。私はUNCの道をはずす必要があるのでしょうか? – Doule
1)マクロを自動的に有効にするためのExcelオプションが設定されていますか?そうでない場合は、それらを変更してください。2)マクロ名**は、ワークブックにあるとおり、正確に**ですか?そうでない場合は、それを調整します。 3)オープニングワークブックのマクロはプライベートサブにありますか?もしそうなら、それを公開してください。 4)UNCパスがある場合、直前のウィンドウに 'FileName'を出力すると' \\ server \ folder \ file \ mybook.xlsm'と表示されます。それがあれば、文字列操作を使ってファイル名だけを取得することができます...実際には(すべての文字列を書いた後で)単にFileNameの代わりに 'WorkBk.Name'を使います。 –