目前我正試圖寫一個子程序,將複製單元格,例如A1的問題:從一個工作表A10;到具有特定單元格(如A1,A2,B1,B2,B3,B5,C1,C2,C4,C5)的另一個工作表。問題是我無法在工作表名稱和範圍值中讀取的當前子集。下面是代碼如何將單元格數據複製到另一個表單中的單個單元格到特定單元格的範圍內?
'User will be able to copy cell data from one to another.
Public Sub CopyCell(ByVal pv_worksheet_source As Worksheet, _
ByVal pv_range_source_cells As Range, _
ByVal pv_worksheet_destination As Worksheet, _
ByVal pv_range_destination_cells As Range, _
ByRef pr_str_error_message As String)
'first the cells are compared for the data that is in them.
If pv_range_source_cells.Cells.Count <> pv_range_destination_cells.Cells.Count Then
pr_str_error_message = pr_str_error_message & "The cell count " & pv_range_source_cells.Cells.Count & " and " & _
pv_range_destination_cells.Cells.Count & " do not match. The cells of Initial Optics Input and Output cannot be copied!"
Exit Sub
End If
Dim source_cells As Range
Dim i As Integer
Dim ArrOut() As String
Dim str_source_worksheet_name As String
Dim str_destination_worksheet_name As String
ArrOut() = Split(pv_range_destination_cells.Address, ",")
i = 0
For Each source_cells In pv_worksheet_source
pv_worksheet_destination.Range(ArrOut(i)).Value = source_cells.Value
i = i + 1
Next
End Sub
正如你所看到的代碼是假設在源和目標表名稱看,他們的單元格的範圍進行復印。有類型不匹配,再加上我不知道如何在VBA中複製數據。該子文件必須保存在模塊格式中,因爲它將在整個工作簿中被其他工作表調用。下面是在源工作表上調用它的一個示例....
Private Sub CopyButton_Click()
'User gets data copied over to specific cells
Dim str_error_message As String
Call CopyCell(Sheet1, _
"A1:A10", _
Sheet2, _
"B1,B2,B3,C1,C2,C3,C4,D1,D2,D3", _
pr_str_error_message:=str_error_message)
End Sub
這是錯誤從單擊按鈕時開始的位置。請幫忙,因爲我一直在處理這個問題好幾天了!我真的會認真對待它! :)
你有沒有嘗試將你選擇的數據輸入到一個數組中然後將它們吐出到新的表格上? –
當調用子,你是路過的範圍爲String通過將「A1:A10」,通過這是一個範圍,如表(「工作表Sheet1」)的範圍。(「A1:A10」),它會工作得很好。回到[答案]我早前提供給你的以這種方式瞭解它的簡單性。 –