私は個人的な仕事のためにこれを作成しました。 Googleで検索した後、複数のワークブック(それぞれ1つのワークシートがある)を1つのワークブックにマージするコードが見つかりました。そして、これらのワークシートは、それが "shXetnaXe" と呼ぶ同じ名前を持っているので、私はワークブックを選択しようとすると、それは複数のワークブックを1つのワークブックにマージした後に、ファイル名に基づいてシートの名前を変更します。
"shXetnaXe" for sheet(1)
"shXetnaXe(1)" for sheet(2)
"shXetnaXe(2)" for sheet(3)
終わりました等々。
私はそれらの元の名前、それらのシートは自動的に元の選択ワークブックの名前 という名前にしたいのです:「9月1日」「9月2日」「9月3日」 、私はそれを少し変更してみましたが、それは常に失敗します。
ここでの問題はopenfiles.nameは、ファイルの完全なファイルパスと名前を返すことで、コード
`Sub opensheets()
Dim openfiles
Dim crntfile As Workbook
Set crntfile = Application.ActiveWorkbook
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
openfiles = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xls;*.xlsx),*.xls;*.xlsx", _
MultiSelect:=True, Title:="Select Excel file to merge!")
If TypeName(openfiles) = "Boolean" Then
MsgBox "You need to select atleast one file"
GoTo ExitHandler
End If
x = 1
While x <= UBound(openfiles)
Workbooks.Open Filename:=openfiles(x)
Sheets().Move After:=crntfile.Sheets(crntfile.Sheets.Count)
Set rnmsht = Workbook.Open
Sheets(openfiles) = rnmsht
Before:=ActiveWorkbook.Sheets(openfiles.name)
x = x + 1
Wend
Application.DisplayAlerts = False
Sheets(1).Select
ActiveWindow.SelectedSheets.Delete
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub'
(同じ位置)にこの行を置きますか?または、これは正常に動作しているだけで、その追加機能を取得したいですか?元のコードに追加した行はどれですか? rnmsht = Workbook.Open シート(openfiles)= rnmsht前 設定します: –
はここに私のコードです=のActiveWorkbook.Sheets(openfiles.name) – tianda