advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 6604 for リンク (0.004 sec.)
[[20120611094035]]
#score: 3110
@digest: e0de97b109249e0f50df5aacb2ff5d22
@id: 59263
@mdate: 2012-07-25T08:18:10Z
@size: 56098
@type: text/plain
#keywords: 署毎 (190105), copywork (92932), 月○○ (53516), ク更 (50670), 月→ (40872), ○○. (38252), 部署 (34781), 年間 (28238), ク・ (28205), ヶ月 (24169), ブッ (21740), 当月 (20961), 月・ (16944), textbox4 (16775), 先月 (16643), 理対 (15601), リン (14758), ンク (14492), textbox3 (14452), 毎の (12946), 更新 (12324), 象外 (11841), のブ (11145), 月の (10857), ック (10379), 置換 (8744), ファ (8410), の更 (8291), ・・ (8004), 実績 (7152), ァイ (6511), 作業 (5902)
『2.VBAでファイル名の一部を一括変換』(ミニー)
HANAさん、前回の続きからよろしくおねがいします。 【前回までの続き】 http://www.excel.studio-kazu.jp/kw/20111027111622.html すべての処理が終わったあと、エクセルを開くとやはり計算方法は手動でした。 自動にしたいのですが、Private Sub CopyProc の最後でxlCalculationAutomaticで いいと思っていたのですが、ここではないのですね・・・ 現在のあたまからのコードです↓ Option Explicit Private Const 初期フォルダ As String = "D:¥Test" Private Const 作業マーカー As String = "■" Private Sub UserForm_Initialize() With Me With .ListBox1 .ColumnCount = 2 End With End With End Sub Private Sub CommandButton1_Click() Dim myFol As String Dim myPath As String Dim myMonth As String myFol = GetFolderPath If myFol Like "*月*" Then Me.TextBox1.Value = myFol myPath = GetMonth(myFol) Me.TextBox3.Value = myPath myMonth = AddMonth(myPath) Me.TextBox4.Value = myMonth Me.TextBox2.Value = Replace(myFol, myPath, myMonth) End If End Sub Private Sub CommandButton2_Click() Me.TextBox2.Value = GetFolderPath End Sub Private Sub CommandButton3_Click() Dim CopyPath As String Dim PastPath As String Dim CopyFile As String Dim PastFile As String Dim i As Long Dim ws As Worksheet CopyPath = Me.TextBox1.Value PastPath = Me.TextBox2.Value If CopyPath = "" Or PastPath = "" Then MsgBox "フォルダが指定されていません" Else 'フォルダチェック&作成 If Dir(PastPath, vbDirectory) = "" Then If MsgBox(PastPath & "フォルダがありません。" & vbCr & _ "フォルダを作成しますか?", vbYesNo) = vbYes Then MkDir PastPath Else MsgBox "キャンセルされました" Exit Sub End If End If 'ファイルコピー&リネーム With Me.ListBox1 For i = 0 To .ListCount - 1 'CopyProc CopyPath & "¥" & .List(i, 0), PastPath & "¥" & .List(i, 1) CopyProc CopyPath & "¥" & .List(i, 0), PastPath & "¥" & .List(i, 1), Not .Selected(i) Next i End With MsgBox "作業完了" End If End Sub Private Sub CommandButton4_Click() With Me With .ListBox1 .Height = Application.RoundUp(.Height, -1) If .MultiSelect = fmMultiSelectMulti Then .ListStyle = fmListStylePlain .MultiSelect = fmMultiSelectSingle Else .ListStyle = fmListStyleOption .MultiSelect = fmMultiSelectMulti End If End With End With End Sub Private Sub ListBox1_AfterUpdate() Dim buf As Variant With Me.ListBox1 If .Tag = "" Then If MsgBox("個別修正しますか?", vbYesNo) = vbYes Then buf = Application.InputBox("ファイル名を修正してください。" & vbLf & vbLf & _ .List(.ListIndex, 0), , .List(.ListIndex, 1)) If VarType(buf) <> vbBoolean Then .List(.ListIndex, 1) = buf End If End If .Tag = "Rename" .ListIndex = -1 Else .Tag = "" End If End With End Sub Private Sub TextBox1_Change() SetFileList End Sub Private Sub TextBox2_Change() SetFileList End Sub Private Sub TextBox3_Change() SetFileList End Sub Private Sub TextBox4_Change() SetFileList End Sub Private Sub SetFileList() Dim myFile As String Dim myC As New Collection Me.ListBox1.Clear With Me.TextBox1 If .Value <> "" Then myFile = Dir(.Value & "¥*.xls*") Do Until myFile = "" With Me.ListBox1 .AddItem .List(.ListCount - 1, 0) = myFile .List(.ListCount - 1, 1) = Replace(myFile, Me.TextBox3.Value, Me.TextBox4.Value) End With myFile = Dir() Loop End If End With End Sub Private Function GetMonth(myStr As String) As String With CreateObject("VBScript.RegExp") .Global = True .Pattern = "¥d{1,2}月" GetMonth = .Execute(myStr)(0) End With End Function Private Function AddMonth(ByVal myStr As String) As String Dim myReg As Object Dim myMonth As Integer With CreateObject("VBScript.RegExp") .Global = True .Pattern = "¥d{1,2}月" For Each myReg In .Execute(myStr) myMonth = Val(myReg.Value) myMonth = Month(DateSerial(Year(Date), myMonth + 1, 1)) myStr = .Replace(myStr, myMonth & "月") Next myReg End With AddMonth = myStr End Function Private Function GetFolderPath() As String With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = 初期フォルダ If .Show = True Then GetFolderPath = .SelectedItems(1) End If End With End Function Private Sub CopyProc(OpenPath As String, SavePath As String, flg As Boolean) Dim ws As Worksheet With Application .ScreenUpdating = False '----Falseに変更 .Calculation = xlCalculationManual '------計算方法「手動」 .DisplayAlerts = False .AskToUpdateLinks = False '----ダイアログ停止 End With With Workbooks.Open(OpenPath, UpdateLinks:=0) '----リンク更新しない追加 '値コピー作業 If flg Then If .Worksheets.Count = 1 Then CopyWork .Worksheets(1), 3 Else For Each ws In .Worksheets If ws.Name = "差額" Then CopyWork ws, 1 ElseIf ws.Name = "システム" Then CopyWork ws, 2 ElseIf Not ws.Name Like "あいう*" And ws.Name <> "会社差額" Then CopyWork ws, 3 End If Next ws End If End If 'リンク更新作業 For Each ws In .Worksheets ws.Cells.Replace Me.TextBox3.Value, Me.TextBox4.Value, xlPart, xlByRows Next ws .SaveAs SavePath .Close False End With With Application .DisplayAlerts = True .Calculation = xlCalculationAutomatic '------計算方法「自動」 .ScreenUpdating = True .AskToUpdateLinks = True End With End Sub Private Sub CopyWork(myWs As Worksheet, Ptn As Integer) Dim myArea As Range Dim myCol As Variant Dim myRng As Range Dim strRowRng As String Dim aryCpyRng As Variant Dim aryDelRng As Variant Dim buf As Variant Select Case Ptn Case 1 strRowRng = "7:9,23:26,30:42,47:48,51:52,56:56,64:66,68:76,81:89" aryCpyRng = Array("H→E", "J→G") aryDelRng = Array("F", "H", "J") Case 2 strRowRng = "4:27,30:49,56:75,82:101,118:130,139:151,159:167,176:184,193:195,204:206,214:228,237:251" aryCpyRng = Array("T→G", "AF→S") aryDelRng = Array("H", "T", "AF") Case 3 strRowRng = "7:9,12:19,23:26,30:42,47:48,51:52,56:56,64:66,68:72,74:77,79:81,86:94" aryCpyRng = Array("V→J", "AG→U") aryDelRng = Array("K", "V", "AG") End Select With myWs For Each myArea In .Range(strRowRng).Areas For Each myCol In aryCpyRng buf = Split(myCol, "→") With myArea .Columns(buf(1)).Value = .Columns(buf(0)).Value End With Next myCol Next myArea For Each myArea In .Range(strRowRng).Areas For Each myCol In aryDelRng For Each myRng In myArea.Columns(myCol).Cells 'If myRng.HasFormula = False Then myRng.ClearContents 'End If Next myRng Next myCol Next myArea End With End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If MsgBox("終了しますか?", vbYesNo, "確認ダイアログ") = vbYes Then '終了 Cancel = False Else Cancel = True End If End Sub Private Sub CommandButton5_Click() Unload Me End Sub ---- >すべての処理が終わったあと、エクセルを開くとやはり計算方法は手動でした。 やはりそうでしたか。。。 手作業でやる時の事を考えてみて下さい。 1.対象のブックを開く 2.再計算されるのが邪魔なので、計算方法を手動に切替。 3.必要な操作をする。 ここまでは現在のプログラムと同じです。 その後、プログラムでは P4.名前を付けて保存 ・・・.SaveAs SavePath P5.ブックを閉じる ・・・・.Close False P6.計算方法を自動に ・・・.Calculation = xlCalculationAutomatic して居ます。 計算方法が手動の状態で、保存してますよね。 開いた時に、「何で手動で開くのよ」とエクセルに怒ったら 「アンタが手動で保存したからでしょ!!」って 怒られちゃいますよ。。。 ( ̄_ ̄|||) 手作業でやるなら、当然の様に 4.計算方法を自動に 5.名前を付けて保存 6.ブックを閉じる の順番でなさると思います。特に意識せずに。 この【特に意識せずに】って部分が、どれだけ細かく拾い出せるかは 何でも無い事の様ですが、重要な事だと思います。 多くの場合「自分はどうやっているの?」を詳細に書きだし それをそのままコードに出来れば やりたい事をやらせる事が出来ると思います。 勿論、「より効率の良い方法」「もっと高度な事」を追求するなら、 それだけでは駄目だと思いますが。 ですから、計算方法を手動にするのは、保存の前にして下さい。 With Application から出す事になるので、 「.」の前に Application を忘れずつけて下さい。 ちなみに >.AskToUpdateLinks = False '----ダイアログ停止 とコメントが付いていますが、違っている様に思えます。 (「リンク更新確認の」が省略されているなら合っているのかもしれないですが。) AskToUpdateLinks をヘルプで調べると True の場合、リンクを設定しているファイルを開くときに、 自動的にリンクを更新せず、最初にメッセージを表示します。 False の場合、メッセージを表示せずにリンクを自動的に更新します。 と書いてあります。 True ではないので、確かに メッセージは表示されないのですが。。。 False と書いてあるので「つべこべ言わないから、リンクは自動更新してね!!」 と意思表示をしています。 >Workbooks.Open(OpenPath, UpdateLinks:=0) '----リンク更新しない追加 こちらの UpdateLinks の方は 値 内容 0 外部参照とリモート参照は共に更新されません。 ですから、コメントの通り「リンク更新せずに開いてね!!」です。 この二つに少し違和感を感じました。 (HANA) ---- HANAさん、わかりやすくありがとうございました! 保存のあとじゃ何をやってもダメですよね(><) 直してみたところ、計算方法は"自動"になってました。 Next ws .Application.Calculation = xlCalculationAutomatic .Application.DisplayAlerts = True .Application.AskToUpdateLinks = True .SaveAs SavePath .Close False それと、ご指摘の通り、AskToUpdateLinks 確かにおかしいです・・・ 私は、リンク更新のダイアログをださずに、リンクも更新したくないのです FalseでもTrueでも違う感じがします… AskToUpdateLinksを消して実行してみたところ、リンク更新確認のダイアログがでませんでした。 UpdateLinksだけでリンク更新確認のダイアログをださずに、リンク更新なしができたのでしょうか?? ---- えっと。。。Application の前の「.」は要らないです。 端折って書くと、↓の様に成るので With 開くブック .Application.Calculation = xlCalculationAutomatic .SaveAs SavePath End With With から出すと 開くブック.Application.Calculation = xlCalculationAutomatic 開くブック.SaveAs SavePath と書いてある事に成ります。 開くブックだって、エクセルなんで関係ないとは思いますが。。。 ちなみに、元々は With 開くブック .SaveAs SavePath End With With Application .Calculation = xlCalculationAutomatic End With ですから、With から出すと 開くブック.SaveAs SavePath Application.Calculation = xlCalculationAutomatic これの上下を入れ替えるので Application.Calculation = xlCalculationAutomatic 開くブック.SaveAs SavePath で良いですね。 それから、他の部分は関係無いので 後にまとめておいて良いと思います。 >UpdateLinksだけでリンク更新確認のダイアログをださずに、 >リンク更新なしができたのでしょうか?? そうですね、「このブックは○○で開いて!!」と言っているので その様に開いてくれていると思います。 ですから、今回の場合 .AskToUpdateLinks = False は、有っても無くても関係無いので、消しておかれるのが良いと思います。 ちなみに、 >.DisplayAlerts = False これが、色々な確認を出さない様にします。 例えば、シートを削除しようとすると 「シートにデータが有あるかもしれないよ?」 と、教えてくれますよね。 そう言うのをいちいち確認しなくて良い様に成ります。 今回これを入れたのは、リンクの更新の確認メッセージを出さない為で その対処は「UpdateLinks:=0」で出来たと思いますので また必要に成る時まで、消しておかれると良いと思います。 (元々は付いてなかったですよね?) (HANA) ---- 時間があいてしまってすみません!! .DisplayAlerts = False 、 UpdateLinks:=0、.AskToUpdateLinks = False いままでどれがどの役をやっているのか不透明なところがあったので HANAさんのおかげでよくわかりました 不要なところを消したらスッキリしました↓ Private Sub CopyProc(OpenPath As String, SavePath As String, flg As Boolean) Dim ws As Worksheet With Application .ScreenUpdating = False '----Falseに変更 .Calculation = xlCalculationManual '------計算方法「手動」 .DisplayAlerts = False End With With Workbooks.Open(OpenPath, UpdateLinks:=0) '----リンク更新しない追加 '値コピー作業 If flg Then If .Worksheets.Count = 1 Then CopyWork .Worksheets(1), 3 Else For Each ws In .Worksheets If ws.Name = "差額" Then CopyWork ws, 1 ElseIf ws.Name = "システム" Then CopyWork ws, 2 ElseIf Not ws.Name Like "あいう*" And ws.Name <> "会社差額" Then CopyWork ws, 3 End If Next ws End If End If 'リンク更新作業 For Each ws In .Worksheets ws.Cells.Replace Me.TextBox3.Value, Me.TextBox4.Value, xlPart, xlByRows Next ws Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True Application.AskToUpdateLinks = True .SaveAs SavePath .Close False End With End Sub 次の問題なのですが・・・ Private Sub CopyWork のなかでaryDelRngの列はセルをクリアにしてもらっているのですが 数式は除いています。aryDelRng = Array("F", "H", "J") 数式も関係なくDeleteしてほしいのですが、数式はそのまま残す?みたいな風に 書いてあるのでしょうか? Private Sub CopyWorkの下の方?という気はしているのですが… ---- 該当の部分は 'If myRng.HasFormula = False Then myRng.ClearContents 'End If だと思いますが。。。コメントアウトされてますね? それでも、クリアされないですか? (HANA) ---- 申し訳ございません。 私がセル範囲を指定し忘れているところがありました。 コメントアウトのところで大丈夫でした! あともうひとつありまして ワークシート内のすべて当月(文字列)が翌月に変わってしまいます。 6月 7月 8月 ・・・と並んでいる表の項目が 7月 7月 8月という風になってしまいます。 同じくPrivate Sub CopyWorkの中でしょうか・・・ この辺りかなというところはあるのですが、自信がありません。。 With myWs For Each myArea In .Range(strRowRng).Areas For Each myCol In aryCpyRng buf = Split(myCol, "→") With myArea .Columns(buf(1)).Value = .Columns(buf(0)).Value End With Next myCol Next myArea ---- >コメントアウトのところで大丈夫でした! でしたか。 ただ、そういう事になると当初の仕組みは少し変更した方が良さそうです。 今やっているイメージだと 行 : "7:9,23:26" 列 : "F" , "H" の重複部分の値を削除するのに F7セルを削除、F8セルを削除、F9セルを削除 H7セルを削除、H8セルを削除、H9セルを削除 F23セルを削除、F24セルを削除、F25セルを削除、F26セルを削除 H23セルを削除、H24セルを削除、H25セルを削除、H26セルを削除 する事に成っています。 もともと削除の前に「そのセルは数式か?」の判定をしていましたが それを単純に無くす事にしたので。。。 とりあえず、簡単に変更出来る所までとして 削除の方の For Each myArea In .Range(strRowRng).Areas For Each myCol In aryDelRng For Each myRng In myArea.Columns(myCol).Cells 'If myRng.HasFormula = False Then myRng.ClearContents 'End If Next myRng Next myCol Next myArea を For Each myCol In aryDelRng Application.Intersect(.Range(strRowRng), .Columns(myCol)).ClearContents Next myCol に変更してみて下さい。 このコードのイメージは "7:9,23:26"行 と F列の重複する F7:F9,F23:F26 を削除 "7:9,23:26"行 と H列の重複する H7:H9,H23:H26 を削除 です。 処理スピードも少しは速く成るかもしれません。 >ワークシート内のすべて当月(文字列)が翌月に変わってしまいます。 に関しては Private Sub CopyWork の方では無く Private Sub CopyProc の方です。 この中で、リンク更新作業として ws.Cells.Replace Me.TextBox3.Value, Me.TextBox4.Value, xlPart, xlByRows 置換しています。 TextBox3が「6月」TextBox4が「7月」だった場合 セルの値も「6月」と成っている所は「7月」に変わってしまいます。 対策は。。。どうしますかねぇ。 手作業で Ctrl + H の置換をする場合と同じ対策が有効だと思います。 が。。。リンクの方は具体的にどの様な文字に成っていますか? いくつか例を挙げてみて貰えると良いのですが。 (HANA) ---- >もともと削除の前に「そのセルは数式か?」の判定をしていましたが それを単純に無くす事にしたので。。 削除の前にセルの数式を判定して、F7,F8・・・と処理していたのですね。 ご説明わかりやすくありがとうございます。 実際に変更して実行したところ解決いたしました。 私のPCもそんな早いやつではないのですが、スピードは若干速くなったような気がします。 >手作業で Ctrl + H の置換をする場合と同じ対策が有効だと思います。 が。。。リンクの方は具体的にどの様な文字に成っていますか? はい、列を範囲してして地道に置換え作業をでやっています(;;) リンクですが、 A5セル=[test.xls]7月'!R7 のような 別ファイルセルが貼ってあります。 このマクロ実行で、表の項目だけでなく、セル内のリンク先も6月→7月へ変わってしまいます Private Sub CopyProcの方でしたか・・・お恥ずかしい全然違いました。。 ---- >A5セル=[test.xls]7月'!R7 のような別ファイルセルが貼ってあります。 リンクの形式がこれしか無いなら 検索する文字列 ]7月'! 置換後の文字列 ]8月'! の様にすれば良いですが、実際もそれで良いのですか? >このマクロ実行で、表の項目だけでなく、セル内のリンク先も6月→7月へ変わってしまいます ん?セル内のリンク先を変える為に 置換作業をしているのでは? この置換では何が変更されれば良いのですか? (HANA) ---- わかりづらい説明ですみません。 >リンクの形式がこれしか無いなら 検索する文字列 ]7月'! 置換後の文字列 ]8月'! の様にすれば良いですが、実際もそれで良いのですか? いえ、 この置換えの作業をなくせば、リンクの月も変わらないと思っているのですが 考えが甘いでしょうか? 4月〜3月までの年間集計の表もあるのですが、6月 6月 7月という現象をやめさせたい です(^^;) この部分をコメントアウトすればすむかなと思いましたが・・・ ws.Cells.Replace Me.TextBox3.Value, Me.TextBox4.Value, xlPart, xlByRows とダメでした。 そんな単純なものではないですよね。 ---- 前スレで >リンクしている数式も今月ファイルのものへ変換させたいのですが の要望の対応として、置換処理を行っていると思いますが 「リンクしている数式があるが、そのままで良い」事にするのでしょうか? Me.TextBox3.Value → Me.TextBox4.Val の置換ではなく Me.ListBox1の0列目 → Me.ListBox1の1列目 の置換だったら 良さそうな感じもしますが。。。? >4月〜3月までの年間集計の表もあるのですが、 って事なので、これも違うのでしょうか。 (HANA) ---- そこともつながっていることを忘れていました… >リンクしている数式があるが、そのままで良い」事にするのでしょうか? リンクは現在のマクロのまま Me.TextBox3.Value → Me.TextBox4.Value になってほしいです。 ですが、ワークシート内にある表の項目(TextBox3)の文字列だけは、 TextBox4に変えずTextBox3のままにしておきたいです。 >Me.ListBox1の0列目 → Me.ListBox1の1列目 の置換 すみません(><)どのようになるのか教えていただけますか。 現在、ListBox1の中に左側にコピー元の先月のファイル、右側に翌月のファイルが 2列でならんでいます ---- >リンクは現在のマクロのまま >Me.TextBox3.Value → Me.TextBox4.Value になってほしいです。 > >ですが、ワークシート内にある表の項目(TextBox3)の文字列だけは、 >TextBox4に変えずTextBox3のままにしておきたいです。 そう言うご要望だと思いましたので >>リンクの方は具体的にどの様な文字に成っていますか? >>いくつか例を挙げてみて貰えると良いのですが。 と書いたのですが? 私は、この質問に対する満足する回答を貰っていません。 >>Me.ListBox1の0列目 → Me.ListBox1の1列目 の置換 >すみません(><)どのようになるのか教えていただけますか。 参照しているファイルが全て、これから複製するファイル群であれば 一旦全て開いて、順次新しい名前で保存して行くことにすれば良さそうに思います。 未だ机上思考の段階ですが。。。 ↓の過去ログの理屈です。 [[20100505182614]] 『一括変換』(千本桜) 名前を付けて保存するだけで、他の作業はしませんが ファイルを15個(でしたっけ?)同時に開く事になりますので 覚悟は必要かも知れませんが? それと。。。 >4月〜3月までの年間集計の表もあるのですが、6月 6月 7月という現象をやめさせたい その他の表はどうなんでしょう? 月が入力されている事は無いのでしょうか? 例えば、6月のブックで 6月(当月) 5月(前月) の様に入力されている所が有るなら 7月のブックを作るときに 7月(当月) 6月(前月) に置換された方が良さそうに思いますが。。。 現在問題にして居られる年間のブックで 6月 と書いてあるセルは「当月」を意味しないので 置換されると問題だと言うのは 分かりますが。 これだけが問題なら、一つ細工をしてみると良いかもしれません。 例えば [A] [B] [C] [D] [E] [1] 4月 5月 6月 7月 ・・・ の様にしたい場合、A1セルには「4」だけ入力 B1セルに「=MOD(A1,12)+1」の式を入れて横にフィルドラッグします。 表示形式を「0月」に変更すると、見た目はこれまでと変わらないと思います。 C1セルは「6月」と入力されている様に見えますが、実際は数式が入っていて 該当の文字が入っている訳ではないので 置換しても置換されません。 (HANA) ---- さっそくありがとうございます! >>リンクの方は具体的にどの様な文字に成っていますか? 説明していなくてすみません。 TextBox3→TextBox4でファイルの名前が変わったものが いろいろなシートのセルにリンクされています。メニューバーのリンク編集でみると リンクされているファイルは8個ぐらいで A1セル=[8月会社損益計算書.xls]8月'B5 というカンジです。 あとは、先日書いたようなコピーしてないまったく関係ないファイルから参照してます。 A2セル=[test.xls]7月'!R7 だいたいこの2パターンのリンクです。 >名前を付けて保存するだけで、他の作業はしませんが >ファイルを15個(でしたっけ?)同時に開く事になりますので すごいですね!でも遅くなるということですね・・・笑 でもこれですと、編集作業対象外のファイルのリンク先も翌月に 変わってくれないのでしょうか。。 それと。。。 >4月〜3月までの年間集計の表もあるのですが、6月 6月 7月という現象をやめさせたい >その他の表はどうなんでしょう? 他の表は3ヶ月ごとですが、本当はそれも変わってほしいです 年間はもう4月〜3月まで入力されているので、変更する必要はないのですが >例えば、6月のブックで 6月(当月) 5月(前月) の様に入力されている所が有るなら 7月のブックを作るときに 7月(当月) 6月(前月) に置換された方が良さそうに思いますが。。。 置換えされたのを戻すということですか!? さすがHANAさんですね、全然思いつきませんでした。 >C1セルは「6月」と入力されている様に見えますが、実際は数式が入っていて 該当の文字が入っている訳ではないので 置換しても置換されません。 最初だけすべてのファイルに数式をいれておけば、次からはA1だけ入力すれば いいということですね!置換えを戻すのと、数式どちらがいいのでしょうか? 年間以外の表のことを考えると数式がよいでしょうか。 ---- >A1セル=[8月会社損益計算書.xls]8月'B5 であれば、 =[8月 → ♪[9月 ]8月 → ]9月 ♪ → = の三段構えで行けそうです。 >A2セル=[test.xls]7月'!R7 の場合は、単純に ]7月 → ]8月 で良さそうですが。。。 例としてあげられている二つの式が 8月と7月と有るのは 何故ですか? これまでも 6月だったり 7月だったり。 同じシート内に複数式が有って 順次置換して行く必要でもあるのでしょうか? それとも 例だから 月がテキトーに書かれているのでしょうか? >あとは、先日書いたようなコピーしてないまったく関係ないファイルから参照してます。 今回の処理の対象外のファイルを参照している部分がある と言う事ですか? そうであれば ※一旦全て開いて、順次新しい名前で保存 の方法だけでは解決しないので、他の方法を考えないといけないですね。 >>ファイルを15個(でしたっけ?)同時に開く事になりますので >すごいですね!でも遅くなるということですね・・・笑 に関しては、遅くなるかどうか分かりません。 開くだけなので大した問題には成らないかもしれません。 そちらの状況に依ると思います。 >>7月のブックを作るときに 7月(当月) 6月(前月) に置換された方が良さそうに思いますが。。。 >置換えされたのを戻すということですか!? いや。。。そう言う意味ではなかったので 何か食い違っている様です。 >最初だけすべてのファイルに数式をいれておけば、次からはA1だけ入力すれば >いいということですね! 目的が少し違います。 数式にしておけば、例えば A1 6月 A2 =[test.xls]6月'!R7 の状態で 6月 → 7月 の置換をした時 A1 6月・・・・・・・・・・・★セルの値は置換されない A2 =[test.xls]7月'!R7 この様な結果に出来るのではないか。 と言う事です。 私が何か違う事を想像していますか? ただ、表題が6月のままで データだけ7月を表示する様では 問題が出てきそうに思いますが。。。 そう言ったシート構成には成っていないのですよね? (HANA) ---- >A1セル=[8月会社損益計算書.xls]8月'B5 であれば、 =[8月 → ♪[9月 ]8月 → ]9月 ♪ → = の三段構えで行けそうです。 ありがとうございます。 このマクロですでにファイル名が今月になっているものも変わってしまうのでしょうか? >例としてあげられている二つの式が8月と7月と有るのは 何故ですか? 紛らわしい書き方ですみません。月はテキトーでした。 >今回の処理の対象外のファイルを参照している部分がある と言う事ですか? はい、そうなんです。 4月〜3月までの年間の表には、対象外のファイルが含まれていますが A2セル=[test.xls]7月'!R7 のような数式です。 HANAさんのおっしゃるとおり、単純に7月→8月に変われば大丈夫だと思います。 >※一旦全て開いて、順次新しい名前で保存 の方法だけでは解決しないので、他の方法を考えないといけないですね。 表題を翌月に変えてほしいと安易にお願いしてしまったのが 結構大変な作業になってしまって、申し訳ございません。 >ただ、表題が6月のままで データだけ7月を表示する様では >問題が出てきそうに思いますが。。。 >そう言ったシート構成には成っていないのですよね? はい、まだそのようなシート構成にはなっていないので マクロが終わった後、ctrl+Hで置換えしたりしてます。 ---- 全体的に イメージがよく分からないです。 現在置換が行われて便利なシート(或いはブック)が有るのですか? 年間のブックだけ問題が起きているなら それだけ置換の対象外にしてしまっても 良さそうに思いますが。。。? 話をクリアにする為に、15個(でしたっけ?)のブック名を 教えて貰っても良いですか? (HANA) ---- うまくお伝えできずすみません。。 >現在置換が行われて便利なシート(或いはブック)が有るのですか? すべてのブックの表題と年間のリンクが変わってしまう以外は、 今の仕上がりで充分です。 >話をクリアにする為に、15個でしたっけ?)のブック名を 教えて貰っても良いですか? ・翌月のコピー作業の際、セルの編集作業をするもの 7月総務部.xls 7月営業部.xls 7月開発部.xls 7月製造部.xls ・・・部署ごとのファイルが8個、シート数はバラバラです。 ・翌月のコピー作業の際、ファイルの月名は変換するが、セルの編集作業はないもの 7月客先別売上表.xls 7月損益計算書まとめ.xls 7月海外拠点まとめ.xls 2012年レート一覧.xls ・・・4ファイルです。 年間のシートだけというのはなく、困ったことにすべてのワークシートに 3ヶ月の表の後列にそれは必ず付いています。(AO列辺りから) この年間の表題と表内のリンク先の月が変わらなければ 解決するのかなというカンジはしてるのですが・・・ 年間の表が下記のように、ブックによって違うのですが 多いものですと縦に10個ほど、横に3つずつあります。 [AO] [AP] [AQ] [AR] [AY] [BB] [AP] [AQ] [AR] [BN] [5] 4月 5月 6月 7月 ・・・ [5] 4月 5月 6月 7月 ・・・ [AO] [BP] [AQ] [AR] [AY] [33] 4月 5月 6月 7月 ・・・ ---- 部署毎の8ファイルと、まとめの4ファイル で、12ファイルですね。 CopyProcですが '値コピー作業・・・・・・(1) 'リンク更新作業・・・・・(2) '新しい名前で保存・・・・(3) の三つの作業が有ります。 まとめの4ファイルは、(3)の作業だけで良いのですか? それとも、(1)の作業が不要なだけで、 (2)の作業は必要なのですか? 部署毎のファイルに関してですが >3ヶ月の表 この部分には、リンクの数式があって それを更新したいのですよね? そこでお伺いしたいのですが、7月のブックから8月のブックを作る時 部署毎のA0列(或いはBB列)辺りより前に有る範囲の 「7月」を「8月」に置換出来れば良いのですか? 寧ろ、今回処理するブック間はリンクしてない と考えて良いのでしょうか? (HANA) ---- >部署毎の8ファイルと、まとめの4ファイル で、12ファイルですね。 基本はこの12ファイルですが、部署が増減すると変わる可能性もあります… よくないでしょうか? >まとめの4ファイルは、(3)の作業だけで良いのですか? いえ、(1)の作業が不要なだけで、(2)の作業は必要です。 リンクのほとんどはコピーした部署毎の8ファイルとなります。 >3ヶ月の表 >この部分には、リンクの数式があって それを更新したいのですよね? はい、リンク元のファイルは、ほとんどコピーした部署毎の8ファイルとなります。 その8ファイルの中の、3ヶ月の表はリンクはなく単純な数式ばかりですが 4つの対象外のファイルは、この8ファイルを集計したものなので 3ヶ月の表、年間の表ともに8ファイルのリンクがベタベタに貼ってあります。 >そこでお伺いしたいのですが、7月のブックから8月のブックを作る時 部署毎のA0列(或いはBB列)辺りより前に有る範囲の 「7月」を「8月」に置換出来れば良いのですか? はい、年間以外は置換で大丈夫だと思います。 表題については 今月の 7月 8月 9月 からマクロ実行後 8月 9月 10月と 変わってくれるのが理想ですが、セルの位置もシートによってバラバラです(TT) 正直その箇所がたくさんあるのでどうしたらいいのかわからず、 手作業で修正しています・・・ >寧ろ、今回処理するブック間はリンクしてない と考えて良いのでしょうか? たとえば、7月総務部.xls と 7月開発部.xls がお互いリンクということでしょうか? それでしたらないのですが、意味を履き違えていたらすみません。 ---- >基本はこの12ファイルですが、部署が増減すると変わる可能性もあります… >よくないでしょうか? 今の段階では、問題無いと思います。 シートの内容として、「3ヶ月の表」と「年間の表」と二つありますが これは、部署毎のファイルにも まとめのファイルにも どちらも有るのですか? >その8ファイルの中の、3ヶ月の表はリンクはなく単純な数式ばかりですが と言う事は、部署毎のファイルの3ヶ月の表の範囲はリンクの更新が不要。 3ヶ月の表の後ろに年間の表があるが、これもリンクの更新は不要。 にもかかわらず >年間以外は置換で大丈夫だと思います。 結局リンクの更新は必要なんですよね?? と言う所が相変わらず理解出来ないでいます。 また、今回の12ファイルのファイル名は 単純に 7月→8月 に変更になるもの以外のものが 有ると思いますが、そのファイルが参照されていると言った事は無いのですか? (HANA) ---- >シートの内容として、「3ヶ月の表」と「年間の表」と二つありますが >これは、部署毎のファイルにも まとめのファイルにも >どちらも有るのですか? はい、部署毎のファイルにもAN,AO列辺りから年間の表が必ずついています。 >結局リンクの更新は必要なんですよね?? はい、必要です。 まぎらわしいことを言って申し訳ありません。 >また、今回の12ファイルのファイル名は 単純に 7月→8月 に変更になるもの以外のものが > 有ると思いますが、そのファイルが参照されていると言った事は無いのですか? 12個のファイル名はすべてあたまに7月と入っています。 全部7月→8月 に変更が必要となります。 その12個のうち4つはセル編集の作業をしないファイルですが、(リストボックスでチェックをいれます) そのファイルを参照しているものはありません。 ご説明うまくできずにすみません。 ---- 部署毎のブックもまとめのブックも 3ヶ月の表と年間の表があり 3ヶ月の表は 今回処理対象の12個のブックを参照しており 年間の表は 今回処理対象外のブックを参照している。 のですね? それで、年間の表の参照先の変更は不要で 3ヶ月の表の参照先のみ変更が必要 と言う事ですか? (HANA) ---- ご連絡遅くなり申し訳ございません! ご質問の件、下記で回答いたします。 >部署毎のブックもまとめのブックも3ヶ月の表と年間の表がある はい、そうです。 >3ヶ月の表は 今回処理対象の12個のブックを参照しており >年間の表は 今回処理対象外のブックを参照している。 のですね? 年間は処理対処外のブックを参照しています。 3ヶ月の表はブックによって違っています。 部署毎のブック・・・3ヶ月表はリンクなし 年間は処理対象外のブックを参照している。 その他ブック・・・・3ヶ月表は部署毎のブックをリンク、処理対象外の外部ブックもリンク 年間は処理対象外のブックを参照している。 >それで、年間の表の参照先の変更は不要で はい、セルに外部ブックのセルが指定してあります。 >3ヶ月の表の参照先のみ変更が必要と言う事ですか? はい、そうなります。 お手数おかけしますが、よろしくお願いします ---- 変更が必要な範囲をもう少し絞り込むと その他ブックの3ヶ月の表の範囲 ですね? なので、まずはその他ブックのレイアウトに関してのみお尋ねします。 その他ブックは4つ有ると思いますが 3ヶ月の表が有る範囲はそれぞれ同じですか? 違いますか? 3ヶ月の表と年間の表で、参照先が被っている と言った事は無いですか? 年間の表から抜き出して有るだけなら、そちら(自ブック)を参照した方が良いと思いますので。 また、今後の質問の為にお伺いしますが 3ヶ月の表は、当月・先月・先々月 の表ですか? (HANA) ---- お返事遅くなり申し訳ございません。 >変更が必要な範囲をもう少し絞り込むと >その他ブックの3ヶ月の表の範囲 ですね? 前回、あまり詳しく書いておりませんでした。 申し訳ございません。 その他の4つブックを詳しく書きますと Aブック・・・部署毎のブックと同じ3ヶ月の表が存在。部署毎ブックのリンクあり Bブック・・・3ヶ月の表なし、部署毎のリンクあり Cブック・・・3ヶ月の表なし、部署毎のリンクなし Dブック・・・3ヶ月の表なし、部署毎のリンクなし 3ヶ月の表のみ参照先の変更が必要と申し上げてしまいましたが Bブックのように3ヶ月の表がないものも、部署毎のブックがリンクされているものがありました。 >その他ブックは4つ有ると思いますが、3ヶ月の表が有る範囲はそれぞれ同じですか? Aブックのみとなりますが、同じフォームです。 >3ヶ月の表と年間の表で、参照先が被っている と言った事は無いですか? はい、参照先は被ってなかったです。 >また、今後の質問の為にお伺いしますが >3ヶ月の表は、当月・先月・先々月 の表ですか? いえ、当月・来月・再来月の順です。今月でいうと7月、8月、9月という具合です。 当月の前に一列だけ先月の実績がついています。 いろいろお手数おかけして申し訳ございません。 ほかに気になる点がありましたらご指摘ください ---- 他に気になる点と言う事ではないのですが 私は記憶力の良い方ではないので せっかく回答を頂きましたが どう言った事だったのか これまでのやりとりを読み返し 文字から再構成しないと分からなく成りました。 自分の業務であったり、実際のファイルが手元に有ったりすれば すぐに思い出せるのでしょうけど。。。 と、言う事で この所このペースで話が進んで居る様なので 済みませんが、私はドロップアウトさせて頂きます。 まとまったお時間が取れる時にご連絡頂ければ (勿論、私がそれを見て 私もまとまった時間が取れる場合ですが) 出来るだけ良い方法を考えて行きたいと思います。 (HANA) ---- HANAさま ご連絡がなかなかできず申し訳ございませんでした。 私のつたない文章だけで、ご理解いただき実際のファイル等もない中で いろいろやっていただき大変感謝しております。 来週月曜日から、仕事が落ち着きますので 毎日こちらを見れる状態になります。 HANAさんがご都合よろしければ、お返事いただけますでしょうか・・・ ---- 済みません。 本業はきっと他の作業だと思いますので こういった事に時間が割きにくいのは分かるのですが 如何せん私がどの様に成っているのか まだ理解出来ていない状態なので それが分かるように成るまでは、続けてお付き合いをお願いします。 さて、前回新しい話題を振ったのですが 読み返してみて、もう一度腑に落ちない所が有りますので それに関して教えて下さい。 >部署毎のブック・・・3ヶ月表はリンクなし > 年間は処理対象外のブックを参照している。 >>3ヶ月の表の参照先のみ変更が必要と言う事ですか? >はい、そうなります。 って事は、やはり 部署毎のブックはリンクの更新が不要に思えますが >>結局リンクの更新は必要なんですよね?? >はい、必要です。 と言うのは、何処を更新するのですか? (HANA) ---- とんでもないです。 こちらが教えて頂いている立場なのに、お待たせしたりして本当に申し訳ございません。 本業はたいしたことをしていませんので、できるだけこちらに集中します。 >って事は、やはり 部署毎のブックはリンクの更新が不要に思えますが 部署毎のブックは、textbox3(先月)→textbox4(今月)へのファイル名の変更が必要 ということをお伝えしたかったのですが、リンクの更新と間違えて お答えしてしまってすみません。。 >と言うのは、何処を更新するのですか? 部署毎のワークシートの中身は、3ヶ月の表はリンクはないですし 年間は処理対象外のブックを参照しているのでリンク更新はないです(><) ---- 物が出来上がる迄は 成果の見えない事をやっているので 認めてもらえない様な事も有るのではないかと思います。 その辺りは上手に様子を見ていって下さい。 結局、部署毎のブックはリンクの更新は不要なのですね。 それで、A〜Dブックに付いてもう少し教えて下さい。 >いえ、当月・来月・再来月の順です。今月でいうと7月、8月、9月という具合です。 >当月の前に一列だけ先月の実績がついています。 でしたら、「先月・当月・来月・再来月 の4ヶ月分有る」と言う表現になりそうに思いますが そうではなく、「3ヶ月」と表現なさっているのはどう言った状況でしょうか? (HANA) ---- >結局、部署毎のブックはリンクの更新は不要なのですね。 はっきりせず申し訳ございません。 リンク不要でした。 3ヶ月と言っていた理由ですが、"先月"は1列だけの実績だけで Private Sub CopyWorkのところで特に何も作業はなかったので メインのものだけで3ヶ月といっておりました。 この部分("先月")もあわせると、ご指摘頂きましたが4ヶ月ということになります。 部署毎のブック内容を記載してみました。 A 〜 D E F 〜 I J K L 〜 P Q 〜 T U V W 〜 AA AB 〜 AE AF AG AH 〜 AL 5 6月 7月 8月 9月 6 実績 作業 作業 作業 作業 作業 作業 かなり見づらいかと思いますが、作業と書いてある部分が Private Sub CopyWorkで編集作業等をしている列になります。 A列・・・空白 B列〜D列・・・項目 E列・・・前月実績(6月) F列〜P列・・・当月(7月)セル編集作業:JとK Q列〜AA列・・・来月(8月)セル編集作業:UとV AB列〜AL列・・・再来月(9月)セル編集作業:AFとAG AN列〜AY列・・・4月〜3月まで年間の表 ---- あらら? 今はリンクの更新の話をしていて 部署毎のブックはリンクの更新をしなくて良いので タブン上記情報を貰うのはこのタイミングで無くて良いのではないかと思いますが 何か関連して来ますか? 因みに部署毎のブックは、 3ヶ月の表の範囲(前月の実績も含める)の見出し部分の変更が必要ですか? その変更さえ出来れば、良いのですよね? 現在のCopyProcでやっているリンクの更新は不要で。 或いは、編集作業中に5行目の見出しも変わるように成っていますか? (HANA) ---- >何か関連して来ますか? いえ、タイミング違いました〜(--;) 3ヶ月の表のご参考にと思いのせてしまいました。 >3ヶ月の表の範囲(前月の実績も含める)の見出し部分の変更が必要ですか? はい、本当は見出し部分が変わってくれるのが一番です。 >現在のCopyProcでやっているリンクの更新は不要で。 CopyWorkのブック内のCase1〜3の作業は残っていてほしいのですが、大丈夫でしょうか? Case 1 strRowRng = "7:9,23:26,30:42,47:48,51:52,56:56,64:66,68:76,81:89" aryCpyRng = Array("H→E", "J→G") aryDelRng = Array("F", "H", "J") Case 2 strRowRng = "4:27,30:49,56:75,82:101,118:130,139:151,159:167,176:184,193:195,204:206,214:228,237:251" aryCpyRng = Array("T→G", "AF→S") aryDelRng = Array("H", "T", "AF") Case 3 strRowRng = "7:9,12:19,23:26,30:42,47:48,51:52,56:56,64:66,68:72,74:77,79:81,86:94" aryCpyRng = Array("V→J", "AG→U") aryDelRng = Array("K", "V", "AG") >或いは、編集作業中に5行目の見出しも変わるように成っていますか? いえ、いまのところブックも多く、どーしたらいいのかわからず何もしておりません。 ---- >いえ、タイミング違いました〜(--;) >3ヶ月の表のご参考にと思いのせてしまいました。 分かりました。 何処の変更が必要なのか、先に分かったので良かったです。 有り難う御座います。 上の方で CopyProcですが '値コピー作業・・・・・・(1) 'リンク更新作業・・・・・(2) '新しい名前で保存・・・・(3) の三つの作業が有ります。 と書きました。 部署毎のブック・・・・・・・・・(1), (3),3ヶ月の表の見出しの変更 年間のブック・Aブック・・・・・ (2),(3),3ヶ月の表の見出しの変更 B〜Dブック・・・ (3) で良いですか? (HANA) ---- >何処の変更が必要なのか、先に分かったので良かったです。 まぎらわしくすみませんでした。 部署毎のブック・・・・・・・・・(1), (3),3ヶ月の表の見出しの変更 年間のブック・Aブック・・・・・ (2),(3),3ヶ月の表の見出しの変更 B〜Dブック・・・ (3) >で良いですか? はい、ばっちりです(^^) ---- でしたら、まずAブックに付いて教えて下さい。 既に年間のブックの4つのブック名を教えて貰っていますが ・7月客先別売上表.xls ・7月損益計算書まとめ.xls ・7月海外拠点まとめ.xls ・2012年レート一覧.xls Aブックと言うのは、具体的にどのブックに成りますか? それから、再度確認ですが Bブックには部署毎のリンクが有ると言う事ですが このリンクの更新も不要で良いのですか? 基本的にブック名には 月情報しか無い様です。 すると、年(或いは年度)フォルダ毎に成っていると思いますが どちらですか? リンクの更新をする時に、例えば =2012年フォルダの12月ファイルのセル を一月ずらすと =2013年フォルダの1月ファイルのセル と成らないといけないですね。 しかし、単純に 12月→1月 としたのでは =2012年フォルダの1月ファイルのセル と成って、期待するセルとは違ってきて仕舞うのではないかと思います。 (HANA) ---- >Aブックと言うのは、具体的にどのブックに成りますか? ・7月損益計算書まとめ.xls です。 Aブック・・・7月損益計算書まとめ.xls Bブック・・・7月海外拠点まとめ.xls Cブック・・・7月客先別売上表.xls Dブック・・・2012年レート一覧.xls >Bブックには部署毎のリンクが有ると言う事ですが このリンクの更新も不要で良いのですか? HANAさん、すみません。 私勘違いしており、ばっちりなんていってしまいました。 AとBブックは部署毎のリンクがありますので、 ABブックとも新しい月のブックに変更が必要です。 混乱させるようなことを言ってすみませんっ!! 訂正いたします。 部署毎のブック・・・・・・・・・(1), (3),3ヶ月の表の見出しの変更 年間のブック・A、Bブック・・・ (2),(3),3ヶ月の表の見出しの変更 年間のブック・Cブック・・・・・ (3),3ヶ月の表の見出しの変更 Dブック・・・・・何も必要なし。 >基本的にブック名には 月情報しか無い様です。 すると、年(或いは年度)フォルダ毎に成っていると思いますが どちらですか? そうです〜。月しか入っていません。。 Dブック以外は●月xxxxxx.xlsのようなブック名です。 フォルダは、年度別、その下に月別で入っています。 >しかし、単純に 12月→1月 としたのでは =2012年フォルダの1月ファイルのセル と成って、期待するセルとは違ってきて仕舞うのではないかと思います。 たしかにそうですね。 年度が替わったときのことを全然考えておりませんでした。 後から後から追加ですみません・・・ ブックの保管場所はこのようになります。 2012年12月のフォルダ場所・・・ ¥¥D¥2012年¥12月¥会議¥会議_12月度_確定 2013年1月のフォルダ場所・・・ ¥¥D¥2013年度¥1月¥会議¥会議_1月度_確定 ---- >ABブックとも新しい月のブックに変更が必要です。 >混乱させるようなことを言ってすみませんっ!! いや、これは 方針が定まっていないのが問題だったと思います。 もしも全てのブックを一旦開いて 名前を付けて保存して行くことにしたら Bブックのリンクの更新は不要なんですよね? ・・・と思いましたが、当月でないブックのリンクは やっぱり更新が必要なのか。。。 「処理対象外の外部ブックもリンク」 と言うのは、「月違いの部署毎のブック」 って事ですか? そから、気になっていたのですが ブック名が(1207)と成っているブックとか (7月・8月)と成っているブックが有る と言った話が有ったと思いますが 今も有るのですか? 例としてあげて下さっているブック名を見る限り イレギュラーなものって、レート一覧しか無いみたいですが。 (HANA) ---- >・・・と思いましたが、当月でないブックのリンクは >やっぱり更新が必要なのか。。。 はい・・・先月のブックですと当月に更新する必要があります。。 >処理対象外の外部ブックもリンク」 > と言うのは、「月違いの部署毎のブック」って事ですか? いえ、今回関係しているフォルダとは全然別の場所にあるブックです。 これはレート一覧に似た内容のブックでした。月も入っていませんし 更新する必要のないブックなので ムシしても大丈夫だと思います。 > ブック名が(1207)と成っているブックとか(7月・8月)と成っているブックが有る >と言った話が有ったと思いますが 今も有るのですか? いえ。月のところはすべて統一してもらったので いまは、●月xxxxxx.xls タイプか、レート一覧のブックしかないです。 >例としてあげて下さっているブック名を見る限り >イレギュラーなものって、レート一覧しか無いみたいですが。 はい。同じフォルダには●月xxxxxx.xlsとレート一覧だけです。 帰宅しないとまずいカンジになってきたので、また自宅で見ます(^^) ---- 済みません。 実は今、自宅のネット環境が整って居ません。 昨夜奮起して復旧作業をしていたのですが、どうも上手く行かず 挫折しました。。。 早い内に何とかしたいと思いますが 暫くは 日中の仕事の合間でのレスになります。 思った様に返信出来ないかもしれませんが、よろしくお願いします。 さて、本題ですが >はい・・・先月のブックですと当月に更新する必要があります。。 名前だけ新しい月(当月)にして保存すると リンクが古い月(前月)のブックを参照したままなので 変更が必要。 と言う事ですよね? ただ、表は4つのブックを参照していると思います。 7月分のブックなら(この際、フォルダの事はひとまずおいておいて) =6月○○.xls△△ ・・・実績 =7月○○.xls△△ =8月○○.xls△△ =9月○○.xls△△ ここから8月分のブックを作るなら、2番目の数式だけでなく すべての数式が順繰りに変わらないといけないのかと思いますが =7月○○.xls△△ ・・・実績 =8月○○.xls△△ =9月○○.xls△△ =10月○○.xls△△ 先月→当月(2番目に当たる部分)だけで良いのですか? たとえば、 他の所は値貼り付けになっていて、数式になっておらず 当月の所だけ、数式でリンクになっている。 とか? (HANA) ---- おはようございます(^^) >暫くは 日中の仕事の合間でのレスになります。 私の方は全然大丈夫です。お仕事中なのに逆に申し訳ないです・・・。 >名前だけ新しい月(当月)にして保存すると >リンクが古い月(前月)のブックを参照したままなので >変更が必要。 と言う事ですよね? はい、そうです。 >ただ、表は4つのブックを参照していると思います。 ごめんなさい、下記のような6月〜9月のブックでしょうか? >ここから8月分のブックを作るなら、2番目の数式だけでなく >すべての数式が順繰りに変わらないといけないのかと思いますが =7月○○.xls△△ ・・・実績 =8月○○.xls△△ =9月○○.xls△△ =10月○○.xls△△ >先月→当月(2番目に当たる部分)だけで良いのですか? はい、ブックの作成ですが 今月分でいうと6月末ごろに、6月→7月で新しいブックを作成します。 それと同時に8月以降のブックを作成するということはないので 先月→当月だけで大丈夫です。当月をとばして、先月→再来月で作成する ということはありません。 >他の所は値貼り付けになっていて、数式になっておらず >当月の所だけ、数式でリンクになっている。 とか? 部署毎の3ヶ月の表は、かんたんなSUM関数ぐらいしかなく その集計以外は値貼付けです。 当月も含め、数式に他のブックから引用しているようなリンクはありません。 部署毎以外のブックは作業対象外として、リストボックスのところで除外しています。 すみません・・・ちゃんとご質問にお答えできてますでしょうか(^^;) ---- >ちゃんとご質問にお答えできてますでしょうか(^^;) いや、期待したご返答と違う様に思えます。 いまは、リンクの更新の話をしていますので 年間のA,Bファイルについてのお話しの内 さらに、3ヶ月の表の話なので Aファイルについての話になります。 部署毎のファイルは、リンクの更新は不要ですよね? Aファイルの3ヶ月の表は、リンクの更新が必要ですよね? この表は 先月実績・当月・来月・再来月 のデータを 別のブックから参照して居ますね? そして、その数式は 7月分は =6月○○.xls△△ ・・・実績 =7月○○.xls△△ =8月○○.xls△△ =9月○○.xls△△ こんな感じになっているのでは。。。? 載せてくださった表の A 〜 D E F 〜 I J K L 〜 P Q 〜 T U V W 〜 AA AB 〜 AE AF AG AH 〜 AL 5 6月 7月 8月 9月 6 実績 作業 作業 作業 作業 E7とか、J7,K7,U7,V7・・・等 と思っているのですが、違うのでしょうか? あ >>ただ、表は4つのブックを参照していると思います。 この表現はおかしいですね。 4ヶ月分のブック群(何個のブックかは不明)と言う表現がより正確かもしれないです。 (HANA) ---- すみません、質問理解できておりませんでした。 >部署毎のファイルは、リンクの更新は不要ですよね? はい、ファイル名だけがかわります。 >Aファイルの3ヶ月の表は、リンクの更新が必要ですよね? はい、部署毎のブックがありますので必要となります >この表は 先月実績・当月・来月・再来月 のデータを別のブックから参照して居ますね? はい、各部署毎ブックの表から参照しています。 > そして、その数式は 7月分は Aブックは部署別にワークシートがあり、それぞれ3ヶ月の表がそれぞれあります。 部署毎ブックの3ヶ月の表E列実績が、Aブックの実績にもリンクして貼られています。 (Aブックと部署毎の表がまったく同じ表ではなかったので 列は一致していませんでした。) >載せてくださった表の E7とか、J7,K7,U7,V7・・・等 と思っているのですが、違うのでしょうか? はい、私の載せた部署毎ブックの表からリンクしています。 Aブック【総務部】ワークシートの3ヶ月表=部署毎リンク先 6月実績列=[7月総務部.xls]3ヶ月売上!E列 7月今回列=[7月総務部.xls]3ヶ月売上!G列 7月前回列=[7月総務部.xls]3ヶ月売上!H列 8月今回列=[7月総務部.xls]3ヶ月売上!S列 8月前回列=[7月総務部.xls]3ヶ月売上!T列 9月今回列=[7月総務部.xls]3ヶ月売上!AF列 9月前回列=[7月総務部.xls]3ヶ月売上!AG列 ---- そういう事ですか。分かりました。 四月分のデータは、それぞれの月のブックを参照しているのではなく 当月の部署毎のブックの中に四月分のデータがあって そこを参照しているのですね。 Aブックは今回処理対象の部署毎のブック【以外】のブックも 参照していると言うお話でしたが これも同じ様な仕組みになっているのでしょうか? また、フォルダはどの様になっているでしょう? (HANA) ---- >四月分のデータは、それぞれの月のブックを参照しているのではなく >当月の部署毎のブックの中に四月分のデータがあって >そこを参照しているのですね。 はい、その通りです〜 うまくお伝えできずすみません。。 >Aブックは今回処理対象の部署毎のブック【以外】のブックも >参照していると言うお話でしたが >これも同じ様な仕組みになっているのでしょうか? 部署毎以外のブックですが、そのブックは4月から月ごとにワークシートがあり AブックのAN列〜(年間の表)にリンクされています。 AブックAN(4月)列='[2012部署別海外別20120301.xls]4月'!$N列 AブックAO(5月)列='[2012部署別海外別20120301.xls]5月'!$N列 AブックAP(6月)列='[2012部署別海外別20120301.xls]6月'!$N列・・・3月まで続きます >また、フォルダはどの様になっているでしょう? このブックが入っている場所は、部署毎のブックと2012年フォルダまで一緒です。 ¥¥D¥2012年¥販売¥売上高計算 ブック名には●月は入っておらず、 2012部署別海外別20120301.xlsです。 ブック名の更新は必要ありません。 ---- >うまくお伝えできずすみません。。 いいえ、こちらこそ なかなか分からなくて済みません。 あれ? >部署毎以外のブックですが、そのブックは4月から月ごとにワークシートがあり >AブックのAN列〜(年間の表)にリンクされています。 って事は、リンクの更新は不要なんですよね? 結局リンクの更新が必要なのは ●A,Bブックにある、今回処理対象ブックを参照している所 って事ですか? 結局、話が戻った感がありますが。。。 (HANA) ---- >AブックのAN列〜(年間の表)にリンクされています。 >って事は、リンクの更新は不要なんですよね? はい。いまの状態でマクロを実行すると、年間の6月列にある 項目名、数式のワークシート名の6月が7月に変わっちゃっていたので 混乱してたのですが、そこにある数式は変更する必要ないですよね?? >結局リンクの更新が必要なのは >●A,Bブックにある、今回処理対象ブックを参照している所って事ですか? はい、 Aブックのメニューバーにある編集→リンクの編集で一覧を見る限り 部署毎のブックだけの更新で大丈夫だと思います。 >結局、話が戻った感がありますが。。。 はい・・・ なんか私また間違ったこと言っちゃってますか(><)? ---- >なんか私また間違ったこと言っちゃってますか(><)? 私は全体像が見えないので、何ともいえないです。が >混乱してたのですが これで間違い無い事の様な気がします。 年間の表の方が、部署毎のブックをリンクしている事も無いのですよね? そしたら、リンクの更新については 話は簡単だと思います。 処理の流れとしては (1) A,Bブックを開く (2) 部署毎のブックを 開く・値の更新・『見出しの変更』・名前を付けて保存 を順番に繰り返す (3) Aブックの『見出しの変更』・名前を付けて保存 (4) Bブックを名前を付けて保存 (5) Cブックを開く・名前を付けて保存 (6) Dブックを開く・名前を付けて保存 で良い事になると思います。 再計算の問題がありますので、順番は変わるかもしれないですが。 あと、次の問題が『見出しの変更』の処理方法ですね。。。 3ヶ月の表は、部署毎のブックとAブックにあるのですよね? 先頭のセルの位置はバラバラなのでしょうか? 或いは、共通して使えるセル なんて無いでしょうか? (HANA) ---- >年間の表の方が、部署毎のブックをリンクしている事も無いのですよね? はい、ないです。 >そしたら、リンクの更新については 話は簡単だと思います。 ありがとうございます(TT) >処理の流れとしては (3) Aブックの『見出しの変更』・名前を付けて保存 わたしも『見出しの変更』のところ、自分でも数式とかで対応できるか 考えてみたのですが、 3ヶ月の表だけでなく いろんなフォームの表もあり位置も違ってきてて、お手上げしました。 >3ヶ月の表は、部署毎のブックとAブックにあるのですよね? はい。部署毎ブック、Aブックの3ヶ月の表は 先頭のセルが同じ位置にあります。が 部署毎、Aブックの他のワークシートにある表はフォームがみんな 違うのですが、それも変更可能なのでしょうか。。 >或いは、共通して使えるセル なんて無いでしょうか? 空白のセルでいいのでしょうか? 見出し変更のための何かセルをもうけますか? もしリクエストがありましたらおっしゃってください ---- 3ヶ月の表の見出し以外にも 変更が必要なところがあるのですか? 具体的に教えてもらえますか? それと、もうしばらく確認作業が続きそうなので 新しいスレにしてもらえますか? そしたら、携帯から簡単な返信なら出来ますので。 あと、今更なんですが。。。 コメントの最後に署名をつけてもらえませんか? なんかあれが無いと座りが悪くて。。。 (HANA) ---- >3ヶ月の表の見出し以外にも 変更が必要なところがあるのですか? >具体的に教えてもらえますか? ファイルをHANAさんだけなら全部お見せしたいのですが、 そんなことできませんよね・・・ 3ヶ月の表はCopyWorkのブック内のCase1、それ以外の表がCase2〜3になるのですが もう少し詳しくまとめてからご連絡します。 >それと、もうしばらく確認作業が続きそうなので >新しいスレにしてもらえますか? はい、もちろんです。今晩うちに帰ってからでもいいでしょうか? >あと、今更なんですが。。。 >コメントの最後に署名をつけてもらえませんか? (^^)笑!すみません! これから署名つけるようにします! (ミニー) ---- はい、今から呼び出されてしまったので おうちに帰られてからで充分です。 (HANA) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201206/20120611094035.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 96861 documents and 607997 words.

訪問者:カウンタValid HTML 4.01 Transitional