|
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-と同じくマクロを覚えさせてやると、チラつく(実際、コピーしている作業)たり、上書きしますか?と聞いてきたりします。
こちらもよろしくお願いいたします。
|
|