2016-04-27 245 views
1

我試圖從第二行復制其中包含值的所有單元格'coz第一行是標題/標題。但是,我的代碼似乎選擇所有具有值的單元格。 :(
這裏是我的代碼複製:選擇具有特定行中的值的所有單元格

Dim myData As Workbook 
Set myData = Workbooks.Open("C:\Book2.xlsx") 

Worksheets("Sheet1").Range("A2").Select 
Worksheets("Sheet1").Range("A2").CurrentRegion.Copy 
+1

[調整其大小(https://msdn.microsoft.com/en-us/library/office/ff196678.aspx)。 – findwindow

+1

當然個人喜好,但可能要刪除你的名字從該文件路徑... –

+0

@MacroMan沒有人會注意到,直到你指出= P – findwindow

回答

2

您需要彌補和調整:

With Sheets("Sheet1").Range("A2").CurrentRegion.Offset(1, 0) 
    .Resize(.Rows.Count - 1, .Columns.Count).Copy 
End With 
+0

這次沒有snobby代碼? Downvote /標誌。 – findwindow

+2

http://img.memecdn.com/snob-raptor_o_2550779.jpg –

+0

不錯的一個..這有一個小問題。如果你的數據是說直到第5行,第2行到第10行有公式,那麼它將複製到第10行:)。即使公式返回空白值,也會發生這種情況 –

6

即使你已經在你的代碼中提到CurrentRegion,我懷疑你並不需要它至少沒有計劃在預期的方式來使用它

比方說,我們的工作表看起來是這樣的。請注意,在山口F中的公式?

enter image description here

使用.Resize的問題是,即使它們返回空白值,也會包含具有公式的單元格。

以macroman一致的例子

Sub Sample() 
    With Sheets("Sheet1").Range("A2").CurrentRegion.Offset(1, 0) 
     .Resize(.Rows.Count - 1, .Columns.Count).Select 
    End With 
End Sub 

enter image description here


我想所有的細胞和值複製它怎麼把第一行第二排」是標題/標題。

從我個人理解,你想通過找到最後一排和最後一列具有數據並複製該做的事情。

我認爲這是你想要的?注意使用與LookIn:=xlValues.Find

Sub Sample() 
    Dim ws As Worksheet 
    Dim rng As Range 
    Dim lRow As Long, lCol As Long 

    Set ws = ThisWorkbook.Sheets("Sheet1") 

    With ws 
     lRow = .Cells.Find(What:="*", _ 
       After:=.Range("A1"), _ 
       Lookat:=xlPart, _ 
       LookIn:=xlValues, _ 
       SearchOrder:=xlByRows, _ 
       SearchDirection:=xlPrevious, _ 
       MatchCase:=False).Row 

     lCol = .Cells.Find(What:="*", _ 
       After:=.Range("A1"), _ 
       Lookat:=xlPart, _ 
       LookIn:=xlValues, _ 
       SearchOrder:=xlByColumns, _ 
       SearchDirection:=xlPrevious, _ 
       MatchCase:=False).Column 

     Set rng = .Range(.Cells(2, 1), .Cells(lRow, lCol)) 

     Debug.Print rng.Address 
     rng.Copy 
    End With 
End Sub 

enter image description here

+1

這將是我的首選方法,而不是'.CurrentRegion' +1 –

+0

我試過這個&它從同一個工作簿複製時完美的作品。我想我忘了指定我從其他工作簿複製。 – Meedee

+0

您可以使用此複製到不同的工作簿以及:) –

相關問題