誰かが私を助けるためにとても親切であるかどうか疑問に思っていました。私はまだVBAをかなり新しくしており、いくつかの人が使用するいくつかのデータシートをループするコードを作成しました。マスターシートにループするときの値の貼り付け
Dim MyFile As String
Dim erow
MyFile = Dir("C:\My Documents\Tester")
Workbooks.Open ("C:\My Docments\Tester\TestLog.xlsm")
Sheets("Master").Select
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Application.DisplayAlerts = False
Do While Len(MyFile) > 0
If MyFile = "ZMaster - Call Log.xlsm" Then
Exit Sub
End If
Workbooks.Open (MyFile)
Application.DisplayAlerts = False
Sheets("Calls").Activate
Range("A2:P2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveWindow.Close savechanges:=False
erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Master").Range(Cells(erow, 1), Cells(erow, 16))
ここに2つの問題があります。最初にループ内の最初のブックが自分で「別名で保存」されていない限り、マクロは失敗します。保存されません。最初のブックを開く場合は、同じファイル名で保存をクリックして、動作するマクロを再生します。私は最初のワークブックを開いて、それを介して保存するマクロによって、少し厄介な少しの作業を開発しましたが、そうすることはありません。
第2の最も重要なのは第2です。他のブックからZmasterに私の情報を得るとき、私のサブブックはすべて英語の形式の日付を持っています。しかし、Zmasterに貼り付けるときには、01/12/16ではなく12/01/16として渡ります。いかなる援助も感謝します。
周りのデータがちょうど私のサブで私の日付の問題を明確にする動きが日付形式は、しかし、= NOWあるDD/MM/YY HH/MM/SSでワークブック方法を確認しますこれを12月1日に10日間正常に動作していたマスターシートに貼り付けると、MM/DD/YYがペーストされます – MBrann
複数のワークブックを扱っているので、コードからアクティブ化と選択/選択を取り除き、デバッグとフォローを容易にします。 http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros – Rdster