[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『初めまして。お助け下さい』(たろう)
只今仕事の関係でマクロを組んでいるのですが…
ブックの中の一部のシートを別ブックにコピーし、それを別名で(自動命名)保存しているのですが、その別保存したシートを開いた時に「このブックには、他のデータソースへのリンクが設定されています」とアラートが出ます。
この表示を出さないようにコピー&別名保存するにはどのような記述をどこにすれば宜しいでしょうか。
Sub Auto_Open() Application.ScreenUpdating = False Workbooks.Open , UpdateLinks:=0 ThisWorkbook.Close Application.ScreenUpdating = True End Sub
試しに、上記のような記述をそのブックの1枚目のシートに記述しましたが…ダメでした。素人で申し訳ありませんが、回答のほど宜しくお願い致します。
Sub M_HOZON()
Dim myPATH As String
myPATH = ThisWorkbook.Path & "\Hoge.xls"
Workbooks.Add
With ActiveWorkbook
.Worksheets("Sheet1").Name = "保存先" ThisWorkbook.Worksheets("Sheet1") _ .Cells.Copy .Worksheets("保存先").Range("A1") .Close savechanges:=True, Filename:=myPATH, _ RouteWorkbook:=False End With
End Sub
(hime)
Private Sub HozonToziru_Click()
Application.DisplayAlerts = False
ActiveSheet.Unprotect
Dim pt As String, fn As String, fn2 As String
pt = "C:\Documents and Settings\マネージャー\デスクトップ\15時統計"
With Sheets("<15時> 人員統計表")
fn = .Range("AE1").Value
fn2 = .Range("AJ1").Value & .Range("AK1").Value
End With
Sheets(Array("メニュー", "<15時> 人員統計表", "グラフ元データ", "本店グラ
フ", "清水店グラフ", "静岡店グラフ", "袋井店グラフ", "豊川店グラフ", "大橋通店
グラフ", "武豊店グラフ", "○○店グラフ")).Copy
Sheets("グラフ元データ").Select
ActiveSheet.Protect
Sheets("本店グラフ").Select
ActiveSheet.Protect
Sheets("グラフ元データ").Select
ActiveSheet.Protect
Sheets("本店グラフ").Select
ActiveSheet.Protect
Sheets("清水店グラフ").Select
ActiveSheet.Protect
Sheets("静岡店グラフ").Select
ActiveSheet.Protect
Sheets("袋井店グラフ").Select
ActiveSheet.Protect
Sheets("豊川店グラフ").Select
ActiveSheet.Protect
Sheets("大橋通店グラフ").Select
ActiveSheet.Protect
Sheets("武豊店グラフ").Select
ActiveSheet.Protect
Sheets("○○店グラフ").Select
ActiveSheet.Protect
Sheets("<15時> 人員統計表").Select
ActiveSheet.Protect
Sheets("メニュー").Select
ActiveWorkbook.SaveAs Filename:=pt & "\" & IIf(fn = "", fn2, fn)
ActiveWorkbook.Close
Application.DisplayAlerts = True
Unload Toukei15Dlg
Sheets("<15時> 人員統計表").Select
ActiveSheet.Protect
Sheets("TopPage").Activate
End Sub
回答ではなく申し訳ないのですが、ここへの入力方法です。 (ご存じでしたらスルーして下さい)
−−−−−−−−−−−−−−−−−−
テキスト整形のルール
通常は入力した文字がそのまま出力されますが、以下のルールに従ってテキスト整形を行うことができます。 ・空行は段落の区切りとなります。 ・HTMLのタグは書けません。 ・----のようにマイナス4つがあると、水平線になります。 ・行頭が半角スペースで始まっていると、その段落は整形済み扱われます。 プログラムを書き込むときに使うと便利です。 ・http://www.hyuki.com/ のようなURLは自動的にリンクになります。
−−−−−−−−−−−−−−−−−−
(HANA)
ありがとうございます!
(たろう)
とシートをコピーするのではなく
Private Sub CommandButton1_Click() Dim myArr As Variant Dim i As Variant
myArr = Array("メニュー", "<15時> 人員統計表", "グラフ元データ", "本店グラフ", _ "清水店グラフ", "静岡店グラフ", "袋井店グラフ", "豊川店グラフ", "大橋通店グラフ", _ "武豊店グラフ", "○○店グラフ")
Workbooks.Add
For Each i In myArr Worksheets _ .Add(after:=Worksheets(Worksheets.Count)) _ .Name = (i) Next
Application.DisplayAlerts = False Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete Application.DisplayAlerts = True
End Sub
のように新しいBookを作って元シートをコピーして 新しいBookのしーとに貼り付けすればどうでしょう
とりあえずコードは新しいBookを作る所だけですが 試してみて下さい
(hime)
とりあえず作ってみました 保存先はBookと同じ所にしています。 一度保存して下さい ファイル名が分らなかったのでHoge.xlsで保存しています。 シート名は元Bookと保存するBookと同じにしています。 勘違いならすいません
Dim myArr As Variant Dim i As Variant Dim pt As String Dim fn As String Dim fn2 As String
'pt = "C:\Documents and Settings\マネージャー\デスクトップ\15時統計" pt = ThisWorkbook.Path & "\Hoge.xls"
With Sheets("<15時> 人員統計表") fn = .Range("AE1").Value fn2 = .Range("AJ1").Value & .Range("AK1").Value End With
myArr = Array("メニュー", "<15時> 人員統計表", "グラフ元データ", "本店グラフ", _ "清水店グラフ", "静岡店グラフ", "袋井店グラフ", "豊川店グラフ", "大橋通店グラフ", _ "武豊店グラフ", "○○店グラフ")
Application.ScreenUpdating = False Workbooks.Add With ActiveWorkbook For Each i In myArr .Worksheets _ .Add(after:=.Worksheets(.Worksheets.Count)) _ .Name = (i)
ThisWorkbook.Worksheets(i) _ .Cells.Copy .Worksheets(i).Range("A1") .Worksheets(i).Protect Next
Application.DisplayAlerts = False .Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete Application.DisplayAlerts = True
.Close savechanges:=True, Filename:=pt, _ RouteWorkbook:=False End With
Application.ScreenUpdating = True
(hime)
Dim myArr As Variant Dim i As Variant Dim pt As String Dim fn As String Dim fn2 As String
pt = "C:\Documents and Settings\マネージャー\デスクトップ\15時統計\" 'pt = ThisWorkbook.Path & "\Hoge.xls" With Sheets("<15時> 人員統計表") fn = .Range("AE1").Value & .Range("AJ1").Value & .Range("AK1").Value & ".xls" End With
fn2 = pt & fn
myArr = Array("メニュー", "<15時> 人員統計表", "グラフ元データ", "本店グラフ", _ "清水店グラフ", "静岡店グラフ", "袋井店グラフ", "豊川店グラフ", "大橋通店グラフ", _ "武豊店グラフ", "○○店グラフ")
Application.ScreenUpdating = False Workbooks.Add With ActiveWorkbook For Each i In myArr .Worksheets _ .Add(after:=.Worksheets(.Worksheets.Count)) _ .Name = (i)
ThisWorkbook.Worksheets(i) _ .Cells.Copy .Worksheets(i).Range("A1") .Worksheets(i).Protect Next
Application.DisplayAlerts = False .Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete Application.DisplayAlerts = True
.Close savechanges:=True, Filename:=fn2, _ RouteWorkbook:=False End With
Application.ScreenUpdating = True
でどうでしょう?
pt・fn・fn2を参考にして下さい (hime)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.