![](/img/trans.png)
[英]How do I copy a dynamic range of data that follows a specific string from one sheet to another using VBA?
[英]Automatically transfering a range of data from one sheet to another using VBA
我正在嘗試從sheet1復制數據(區域) ,然后使用按鈕將其粘貼到sheet2 。 單擊按鈕后,sheet1上的原始數據在傳輸到sheet2后將被刪除。
我不斷
錯誤13:類型不匹配
在線Zone = Range("A2:A20").Value
。
我可以使用此代碼來傳輸多行數據嗎?如果是,我在代碼中犯了什么錯誤?
Private Sub CommandButton1_Click()
Dim Zone As Integer
Worksheets("sheet1").Select
Zone = Range("A2:A20").Value
Worksheets("sheet2").Select
Worksheets("sheet2").Range("B1").Select
If Worksheets("sheet2").Range("B1").Offset(1, 0) <> "" Then
Worksheets("sheet2").Range("B1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zone
Worksheets("sheet1").Select
Worksheets("sheet1").Range("A2").ClearContents
End Sub
您正在嘗試將范圍應用於整數
從
Dim Zone As Integer
Zone = Range("A2:A20").Value
至
Dim Zone As Range
Set Zone = Range("A2:A20")
也許是這樣的嗎? 請注意,無需使用.Select
即可完成詢問。
Option Explicit
Sub Test()
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Sheet1")
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Sheet2")
Dim LR As Long, cRange As Range '(copy Range)
LR = ws2.Range("B" & ws2.Rows.Count).End(xlUp).Offset(1).Row
Set cRange = ws1.Range("A1:A20")
If ws2.Range("B2") <> "" Then
ws2.Range("B" & LR).Resize(cRange.Rows.Count, cRange.Columns.Count).Value = cRange.Value
ws1.Range("A2").ClearContents
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.