[英]VBA code to copy cells in specific column and paste (value) it to cells in specific column on another Sheet based on conditions
VBA新手,我需要根據2種情況從Sheet1中的特定列復制並將其粘貼值到Sheet2中的特定列。 詳細信息(不是代碼):
i=2 & j=4
IF Sheet1.Cells(i, 4)<>0 and Sheet1.Cells(i, 49)<>0, Type "FK" in _
Sheet2.Cells(j, 1), Type "OF" in Sheet2.Cells(j + 1, 1), copy the following
Copy from **Sheet1** Paste in **Sheet2**
Cells(i, 52) Cells(j, 2)
Cells(i, 51) Cells(j, 3)
Cells(i, 4) Cells(j, 4)
Cells(i, 1) Cells(j, 5)
Cells(i, 53) Cells(j, 6)
Cells(i, 7) Cells(j, 7)
Cells(i, 10) Cells(j, 8)
Cells(i, 5) Cells(j, 9)
Cells(i, 6) Cells(j, 10)
Cells(i, 49) Cells(j, 11)
Cells(i, 50) Cells(j, 12)
Cells(i, 51) Cells(j, 13)
Cells(i, 51) Cells(j, 15)
Cells(i, 51) Cells(j, 16)
Cells(i, 51) Cells(j, 17)
Cells(i, 19) Cells(j + 1, 2)
Cells(i, 20) Cells(j + 1, 3)
Cells(i, 44) Cells(j + 1, 4)
Cells(i, 28) Cells(j + 1, 5)
Cells(i, 30) Cells(j + 1, 6)
Cells(i, 37) Cells(j + 1, 7)
Cells(i, 41) Cells(j + 1, 8)
Cells(i, 46) Cells(j + 1, 9)
Cells(i, 51) Cells(j + 1, 10)
Cells(i, 51) Cells(j + 1, 11)
next i
IF Sheet1.Cells(i, 4)<>0 and Sheet1.Cells(i, 49)=0, Type "OF" in _
Sheet2.Cells(j, 1), copy the following
Copy from **Sheet1** Paste in **Sheet2**
Cells(i, 19) Cells(j, 2)
Cells(i, 20) Cells(j, 3)
Cells(i, 44) Cells(j, 4)
Cells(i, 28) Cells(j, 5)
Cells(i, 30) Cells(j, 6)
Cells(i, 37) Cells(j, 7)
Cells(i, 41) Cells(j, 8)
Cells(i, 46) Cells(j, 9)
Cells(i, 51) Cells(j, 10)
Cells(i, 51) Cells(j, 11)
next i
Else, next i (start again for i + 1)
因此,基本上我想做的是,如果條件1為true,我將復制1行中的數據並將其粘貼到另一張表的下2個空行中。 同時,如果條件2為真,則從1行復制數據並將其粘貼到另一張紙的下一個空行中。 很長的帖子,很抱歉,不知道其他解釋方法。 謝謝大家
這是在做什么嗎?
Sub copyABunchOfThings()
Dim i As Integer, j As Integer
i = 2
j = 4
For i = 1 To 10 'Change 1 and 10 into your numbers.
If Sheet1.Cells(i, 4) <> 0 And Sheet1.Cells(i, 49) <> 0 Then
Sheet2.Cells(j, 1).Value = "FK"
Sheet2.Cells(j + 1, 1).Value = "OF"
'Put in **Sheet 2** what is in **Sheet 1**
Sheet2.Cells(j, 2) = Sheet1.Cells(i, 52)
Sheet2.Cells(j, 3) = Sheet1.Cells(i, 51)
Sheet2.Cells(j, 4) = Sheet1.Cells(i, 4)
Sheet2.Cells(j, 5) = Sheet1.Cells(i, 1)
Sheet2.Cells(j, 6) = Sheet1.Cells(i, 53)
Sheet2.Cells(j, 7) = Sheet1.Cells(i, 7)
Sheet2.Cells(j, 8) = Sheet1.Cells(i, 10)
Sheet2.Cells(j, 9) = Sheet1.Cells(i, 5)
Sheet2.Cells(j, 10) = Sheet1.Cells(i, 6)
Sheet2.Cells(j, 11) = Sheet1.Cells(i, 49)
Sheet2.Cells(j, 12) = Sheet1.Cells(i, 50)
Sheet2.Cells(j, 13) = Sheet1.Cells(i, 51)
Sheet2.Cells(j, 15) = Sheet1.Cells(i, 51)
Sheet2.Cells(j, 16) = Sheet1.Cells(i, 51)
Sheet2.Cells(j, 17) = Sheet1.Cells(i, 51)
Sheet2.Cells(j + 1, 2) = Sheet1.Cells(i, 19)
Sheet2.Cells(j + 1, 3) = Sheet1.Cells(i, 20)
Sheet2.Cells(j + 1, 4) = Sheet1.Cells(i, 44)
Sheet2.Cells(j + 1, 5) = Sheet1.Cells(i, 28)
Sheet2.Cells(j + 1, 6) = Sheet1.Cells(i, 30)
Sheet2.Cells(j + 1, 7) = Sheet1.Cells(i, 37)
Sheet2.Cells(j + 1, 8) = Sheet1.Cells(i, 41)
Sheet2.Cells(j + 1, 9) = Sheet1.Cells(i, 46)
Sheet2.Cells(j + 1, 10) = Sheet1.Cells(i, 51)
Sheet2.Cells(j + 1, 11) = Sheet1.Cells(i, 51)
ElseIf Sheet1.Cells(i, 4) <> 0 And Sheet1.Cells(i, 49) = 0 Then
Sheet2.Cells(j, 1) = "OF"
'Put in **Sheet 2** what is in **Sheet 1**
Sheet2.Cells(j, 2) = Sheet1.Cells(i, 19)
Sheet2.Cells(j, 3) = Sheet1.Cells(i, 20)
Sheet2.Cells(j, 4) = Sheet1.Cells(i, 44)
Sheet2.Cells(j, 5) = Sheet1.Cells(i, 28)
Sheet2.Cells(j, 6) = Sheet1.Cells(i, 30)
Sheet2.Cells(j, 7) = Sheet1.Cells(i, 37)
Sheet2.Cells(j, 8) = Sheet1.Cells(i, 41)
Sheet2.Cells(j, 9) = Sheet1.Cells(i, 46)
Sheet2.Cells(j, 10) = Sheet1.Cells(i, 51)
Sheet2.Cells(j, 11) = Sheet1.Cells(i, 51)
End If
Next i
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.