Mee*_*dee 1 excel vba excel-vba
我正在尝试从第2行复制所有带有值的单元格'coz第1行是标题/标题.但是,我的代码似乎选择了具有值的所有单元格.:(
这是我要复制的代码:
Dim myData As Workbook
Set myData = Workbooks.Open("C:\Book2.xlsx")
Worksheets("Sheet1").Range("A2").Select
Worksheets("Sheet1").Range("A2").CurrentRegion.Copy
Run Code Online (Sandbox Code Playgroud)
即使您CurrentRegion在代码中提到过,我怀疑您不需要它,或者至少不打算以预期的方式使用它
假设我们的工作表看起来像这样.注意Col F中的公式?
使用的问题.Resize是它将包括具有公式的单元格,即使它们返回空白值.
以MacroMan为例
Sub Sample()
With Sheets("Sheet1").Range("A2").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1, .Columns.Count).Select
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
我正在尝试从第2行复制所有带有值的单元格'coz第1行是标题/标题.
根据我的理解,你可以通过查找包含数据并复制该数据的最后一行和最后一列来实现.
我想这就是你想要的?注意使用LookIn:=xlValueswith.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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |