| 
    
     |  | 2つ質問があります。 
 ---------------- 1つ目の質問 -------------------------
 <状態>
 book1は開いていてココにVBAを作っています。
 DB…CLOSE
 
 1.「DB.xls」-sheet「DataBase」の3行目を挿入
 2.「book1.xls」-sheet「1001」-「A1とB1」を「DB.xls」-sheet「DataBase」-「C2」につなげた値("=A1&B1")のみをコピーする。
 3.「DB.xls」にコピーし終わったら、自動的に上書きする。
 
 …といった作業です。
 
 具体的には↓
 
 Public Sub Test()
 
 Dim wkbWrite As Workbook
 
 Workbooks.Open (ThisWorkbook.Path & "\" & "DB.xls")
 Set wkbWrite = ActiveWorkbook
 
 Sheets("DataBase").Rows("3:3").Select
 Selection.Insert Shift:=xlDown
 Selection.Interior.ColorIndex = xlNone
 
 
 With Sheets("DataBase").Range("C3").Select
 ActiveCell.FormulaR1C1 = "=RC[-2]&"" ""&RC[-1]"
 Range("C3").Select
 Selection.copy
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 :=False, Transpose:=False
 Application.CutCopyMode = False
 
 
 End With
 
 Set wkbWrite = Nothing
 
 ActiveWorkbook.Save
 ActiveWindow.Close
 
 End Sub
 
 そしてbook1のファイル名が変わっても(book2にファイル名が変わっても)VBAを問題なく実行させられるようにしたいのです。
 
 
 一連の作業をマクロで覚えさせてやってみたのですが、作業中の画面がちらついたり、ファイル名が変わると「値の更新」というウィンドウが出てイチイチファイルを指定しなければなりません。
 初心者の私にはお手上げです。なにとぞよろしくお願いします。
 
 ---------------- 2つ目の質問 -------------------------
 <状態>
 book1は開いていてココにVBAを作っています。
 DB…CLOSE
 
 「DB.xls」-sheet「DataBase」すべてを「book1.xls」-sheet「1005」にコピーするといったものです。
 
 そしてbook1のファイル名が変わっても(book2にファイル名が変わっても)VBAを問題なく実行させられるようにしたいのです。
 
 …といった作業です。
 
 具体的には↓
 
 Public Sub Test2()
 
 Dim wkbWrite As Workbook
 
 Workbooks.Open (ThisWorkbook.Path & "\" & "DB.xls")
 Set wkbWrite = ActiveWorkbook
 
 Cells.Select
 Selection.copy
 Windows("book1.xls").Activate
 Sheets("DataBase").Select
 Range("A1:B1").Select
 ActiveSheet.Paste
 Range("A1:B1").Select
 Windows("DB.xls").Activate
 Application.CutCopyMode = False
 ActiveWorkbook.Save
 ActiveWindow.Close
 
 End Sub
 
 
 -1-と同じくマクロを覚えさせてやると、チラつく(実際、コピーしている作業)たり、上書きしますか?と聞いてきたりします。
 
 こちらもよろしくお願いいたします。
 
 
 |  |