2016-03-07 34 views
0

我的VBA函數有問題。將值複製到第一個空行excel VBA

複製工作正常,但我想將詩歌複製到第一個空單元格,而不是我選中的單元格。 此時此刻我有這樣的事情:

Sub kopiowanie_styczen_luty() 
Dim a As Integer 
Dim i As Integer 
Dim test As Long 

    If Range("AI6").Value < 30 Then 
     test = Sheets("Styczeń").Range("AI6").Value 
     Sheets("Styczeń").Range("B6").Copy Destination:=Sheets("Luty").Range("B6") 
     Sheets("Luty").Range("AJ6") = test 
     Sheets("Styczeń").Range("B6:AI6").Interior.ColorIndex = 0 
    End If 
    If Range("AI6").Value >= 30 Then 
     Sheets("Styczeń").Range("B6:AI6").Interior.ColorIndex = 22 
    End If 
EndSub 

而且我想給Sheets("Styczeń").Range("B6").Copy複製到第一坯料B行的Sheets("Luty")我該怎麼辦呢?

另一個問題,你是否可以在一個循環中做到這一點,以避免如果高達100這樣的行重複循環?

回答

1

這將數據放入下一個空白單元格在表列B「Luty」

Sub kopiowanie_styczen_luty() 
Dim a As Integer 
Dim i As Integer 
Dim test As Long 
Dim lastRow as long 
Dim cellData as variant 

    If Range("AI6").Value < 30 Then 
     test = Sheets("Styczeń").Range("AI6").Value 
     cellData = Sheets("Styczeń").Range("B6").value 
     with worksheets("Luty") 
      lastRow = .Range("B" & .rows.count).end(xlup).row + 1 
      .range("B" & cstr(lastRow)).value = cellData 
     end with 
     Sheets("Luty").Range("AJ6") = test 
     Sheets("Styczeń").Range("B6:AI6").Interior.ColorIndex = 0 
    End If 
    If Range("AI6").Value >= 30 Then 
     Sheets("Styczeń").Range("B6:AI6").Interior.ColorIndex = 22 
    End If 
End Sub 

在問候你的第二個問題,我不知道你想要什麼。

+0

感謝您的支持。我有150行,我想扔一個循環,以便不執行分別發送每行的內容 – Kubol

相關問題