![](/img/trans.png)
[英]Copy cells from one sheet to another if cell contains a value greater than zero
[英]excel vba copy cells to another sheet if cell value is greater than 0
如果另一列中的單元格值大於 0,我正在嘗試復制單元格值。
在工作表 1 中:
G3 : G25 = 名稱
L3 : L25 = ActiveX 復選框(如果選中則顯示價格,否則價格 = 空)
M3 : M25 = 價格(對應名稱)
在 Sheet2 中:
A82 : A104 = 空單元格
如果顯示價格(這意味着檢查 L 上的單元格),我想將 G 上的名稱復制到空單元格(Sheet2)。
這是我嘗試過的,但出現錯誤。
Sub option_list()
Dim Source As Worksheet, Target As Worksheet
Dim i As Long, j As Long
Application.ScreenUpdating = False
Set Source = ActiveWorkbook.Worksheets("Sheet1")
Set Target = ActiveWorkbook.Worksheets("Sheet2")
j = 82
For i = 3 To 25
If Source.Cells(i, 13).Value = 0 Then
i = i + 1
Else
Source.Cells(i, 10).Copy
Target.Cells("A" & j).PasteSpecial xlPasteValues
j = j + 1
End If
Next i
End Sub
也許這會以您的預期方式工作。
i = i + 1
。<> 0
range()
編寫的方式。 對於cells()
來說有點不同。 這部Target.Cells("A" & j)
導致錯誤: Target.Cells("A" & j)
。 cells
的寫法如下: Cells(row, column)
-> Cells(j, "A")
。完整修改后的代碼:
Option Explicit
Sub option_list()
Dim Source As Worksheet, Target As Worksheet
Dim i As Long, j As Long
Application.ScreenUpdating = False
Set Source = ActiveWorkbook.Worksheets("Sheet1")
Set Target = ActiveWorkbook.Worksheets("Sheet2")
j = 82
For i = 3 To 25
If Source.Cells(i, 13).Value <> 0 Then
Source.Cells(i, 10).Copy
Target.Cells(j, "A").PasteSpecial xlPasteValues
j = j + 1
End If
Next i
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.