私はこの記事を編集して、これに関するいくつかの調査を行ったことを示しています。以下のコードの一部は、 "マクロの記録"セッション中にキャプチャされました。私は変数に記録するブック名をどのように変更するのか分かりません。どんな助けでも大歓迎です!VBAテンプレートワークシートと変数ワークシートの間のコピーと貼り付け
2つのワークシートの間にデータをコピー&ペーストしようとしています。 1つはテンプレートであり、常に同じ名前を持ち、もう1つは開いているものによって異なります。私が今使っているコードは、エラーを投げつけ続けています。私の現在のコードは以下の通りです!どんな助けでも大歓迎です!私は手動でランダムなブックを開き、その名前を変数に格納したいと思います。次に、マクロでテンプレートファイルを開き、templateFileに新しいタブ(needInfo)を作成し、手動で開いたファイルに戻して範囲( "A1:B4")を選択してからtemplateFileの新しいシートにコピーします。より良い方法があれば教えてください!私はこれに新しいスーパーです!
Sub Macro3()
Dim templateFile As Workbook ' template macro workbook; will always have same filename
Dim workingFile As String ' current working CSCC Quote download
Dim workingSheet As Worksheet ' only sheet in CSCC Quote
Dim tempSheet As Worksheet ' created sheet in CSCC Quote to hold temp data
Dim fileName As String
Dim wrkBook As Workbook
Dim nRow As Long
Dim neededInfo As Long
Dim neededRange As Range
Application.ScreenUpdating = False
' Set template file name
Set templateFile = "20161115 SMARTnet Template.xlsx"
Set templateFile = ActiveWorkbook
templateFile.Active
Set tempSheet = Worksheets.Add(after:=ActiveSheet)
tempSheet.Name = "neededInfo"
workingFile = ActiveSheet.Name
Range("A1:B4").Select
Selection.Copy
templateSheet.Activate
Range("A5").Select
ActiveSheet.Paste
workingFile.Activate
End Sub
マイソリューション:
Sub Macro3()
Dim tPlate As Workbook ' template macro
Dim wrkngFile As Workbook ' current working CSCC Quote download
Dim wrkngSheet As Worksheet ' only sheet in CSCC Quote
Dim tSheet As Worksheet ' created sheet in template file to hold temp data
Dim fileName As String
Dim tPath As String, tFile As String ' template path location and template file
Dim nRow As Long
Dim neededInfo As Long
Dim neededRange As Range
Application.ScreenUpdating = False
tPath = "C:\Users\tcoplien\Desktop\SMARTnet\"
tFile = tPath & "20161115 SMARTnet Template.xlsx"
Set wrkngFile = ActiveWorkbook
Range("A1:B4").Select
Selection.Copy
' Open template file and save name as variable
Set tPlate = Workbooks.Open(tFile)
Set tSheet = Worksheets.Add(After:=ActiveSheet)
tSheet.Name = "neededInfo"
tSheet.Range("A5").PasteSpecial xlPasteValues
wrkngFile.Activate
Range("A1").Select
End Sub
*エラーをスローアップします。*エラーは何行ですか? –
*私は手動でランダムブックを開き、名前を変数に格納したいと考えています。次に、マクロでテンプレートファイルを開き、templateFileに新しいタブ(needInfo)を作成し、手動で開いたファイルに戻して範囲( "A1:B4")を選択してからtemplateFileの新しいシートにコピーします。 *これは約5つまたは6つの異なる問題のように思えるかもしれませんが、おそらくそれを分解し、個々のステップを解決して、圧倒的には見えないようにしてください。 –
ごめんなさい!私はエラーがどこにあったのか知っていいと思う。私は今修正しましたが、ありがとう!と私は、エラーが起こっていたと思うSet templateFile = ActiveWorkbook。私はそれを確認するチャンスがあるときにそれを更新します。 –