請在我身上輕鬆一下,因爲我是一名編程的新手,並且真的努力學習如何改進團隊中的流程,從而提高效率。VBA新手,錯誤1004和400
我已經放在一起的代碼複製公式拉動的數據,然後將其作爲值粘貼在同一工作表內。此代碼我已應用於多個工作簿,這些工作簿包含的工作表/選項卡數量不同。
問題1: 我在每個文件上的第一個工作表稱爲REGION。發生的情況是代碼沒有像設計的那樣在「REGION」工作表上執行,而是在它之後立即跳過工作表。
問題#2 取決於我運行代碼的工作簿,後6個工作表,我得到運行時錯誤「1004」和代碼停止,不工作表上的其餘部分進行功能
問題#3 我在工作簿上得到了錯誤400,該代碼足以讓代碼循環遍歷所有工作表,而沒有找到更多工作表在何處應用代碼。
總之,我需要:
找出什麼我做錯了,該代碼被跳過的工作表中的一個叫做地區(第一選項卡)
後立即2.找出如何防止錯誤「1004」,因爲程序在多個工作表上反覆執行相同的功能(請閱讀我應該設置爲保存每隔幾個選項卡以防止此問題,但不知道如何執行此操作循環)
3.向代碼中添加一行可停止循環而不拋出錯誤消息的行。
Sub COPYPASTE()
Dim ws As Worksheet
For Each ws In Sheets
If ws.Name <> "REGION" Or ws.Name <> "Legend" Then
Range("C3:I47").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A2").Select
End If
ActiveSheet.Next.Select
Next
End Sub
再次,編碼,沒有不是我的專長,但我試圖改善我的團隊和我有2名團隊成員數百工作表的每月手動這樣做的,因此他們採取了相當多的時間。
你需要完全限定的範圍內,牀單等類似的ThisWorkbook。工作表或工作簿(2)。工作表等。對於ws.Range(「C3:I47」)也是如此。複製粘貼需要像這樣:ws.Range(「C3:I47」)。複製 ws.Range(「C3:I47」)。Cells(1,1).PasteSpecial Paste:= xlPasteValues,Operation:= xlNone, SkipBlanks _ := False,Transpose:= False – cyboashu
@cyboashu這應該是一個答案不是評論。 – Graham
@JPR請將此分解爲多個問題,StackOverflow規則指出一個問題不應出現多個問題,而是一個單獨的問題。 – Graham