2016-04-27 177 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

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

相关问题