2016-01-20 148 views
0

我正在創建vba宏以複製具有一組值的列。 但在該列中的某些行之間是空白的,以便動態編碼它,以便它將選擇直到最後一個非空單元格。如何選擇列直到最後一個非空單元格

例如在小區A 如果A1至A20具有值 A21是空白 A22至A35具有值 A36,A37,A38是空白 A39至A45 HAV值

現在我需要動態地選擇值從A1到A45並粘貼在B中。 A公式中的數值也是如此。我想要將該公式粘貼起來,並將其粘貼爲公式

我該怎麼做?

+0

的第二部分[this](http://stackoverflow.com/a/7423252/2923617)答案可以幫助 – NiH

+0

這可能也有幫助....範圍(範圍(「A1」),範圍(「A1」)。EntireColumn .Cells(Rows.Count,1 ).End(xlUp))。選擇 – user2579685

+0

已嘗試但未起作用 – ZZZZZZZZZZZZZZZZZ

回答

0

請嘗試下面的代碼..

Sub test() 
 
'change the sheet name as yours 
 
Sheets("Sheet1").Activate 
 
Range("A1", Cells(Rows.Count, 1).End(xlUp)).Copy 
 
'Change the destination range as yours 
 
Range("D1").Select 
 
Selection.PasteSpecial Paste:=xlPasteFormulas 
 
End Sub

+0

謝謝你all.but代碼工作正常 – ZZZZZZZZZZZZZZZZZ

0

要在A列從A1所有細胞工作到最後一個非空單元格:

Dim oAllDataInA As Range 
With Worksheets("Sheet1") 
    Set oAllDataInA =.Range("A1", .Range("A" & .Rows.Count).End(xlUp)) 
End With 
'Now work with oAllDataInA. For instance. let formula in column B be same as in A: 
oAllDataInA.Copy 
oAllDataInA.Offset(,1).PasteSpecial xlFormulas 
+0

我試過但未起作用 – ZZZZZZZZZZZZZZZZZ

+0

究竟發生了什麼?我在一個簡單的工作簿上測試了它,它對我來說工作得很好。 – jkpieterse

相關問題