首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想将一个范围复制到带有条件的剪贴板上

我想将一个范围复制到带有条件的剪贴板上
EN

Stack Overflow用户
提问于 2022-02-02 17:14:33
回答 2查看 149关注 0票数 1

我希望使用以下条件复制一个范围

1-复制整行,包括隐藏列

2-如果Colunm "CC“没有值,它们将跳过整行。

注意更新=对不起我忘了一些东西,它不会总是有数据的两行,有时它们会在3-4 5中有数据.或在表的所有行中

注意=我的表有公式,所以我不想弄乱它们,只需复制单元格值

我在用这个

代码语言:javascript
复制
Sub CopyVisible()
  Worksheets(1).Range("B3:I13").Select
    Selection.Copy
    
End Sub

我得到了这个结果

但我想要这个结果

我将复制到剪贴板,然后我将粘贴在另一个工作表上

有了泽维尔·俊奎的代码,我得到了这个结果,唯一的问题是他又选了一行。

代码:

代码语言:javascript
复制
Sub CopyFilledCells()
    Dim rng As Range
    Set rng = Range("B3:I3")
    Worksheets(1).Activate
    For i = 3 To Worksheets(1).UsedRange.Rows.Count
        If Worksheets(1).Range("B" & i).Value = "" Then Exit For
    Next
    Range(rng, rng.Offset(i - 3, 0)).Select
    Selection.Copy
End Sub

结果:

EN

回答 2

Stack Overflow用户

发布于 2022-02-02 17:46:29

变更指令

代码语言:javascript
复制
Worksheets(1).Range("B3:I13").Select

代码语言:javascript
复制
Worksheets(1).Range("B3:I4").Select

然后,只复制B列和I列之间的两行(rows# 3和4)。粘贴excel时,显示粘贴选项:选择选项,只复制值。

也许可以尝试以下几点:

代码语言:javascript
复制
Sub CopyFilledCells()
    Worksheets(1).Activate
    Worksheets(1).Range(Range("B3:I3"), Range("B3").End(xlDown)).Select
    Selection.Copy
End Sub

另一次尝试:

代码语言:javascript
复制
Sub CopyFilledCells()
    Dim rng As Range
    Set rng = Range("B3:I3")
    Worksheets(1).Activate
    For i = 3 To Worksheets(1).UsedRange.Rows.Count
        If Worksheets(1).Range("B" & i).Value = "" Then Exit For
    Next
    Range(rng, rng.Offset(i - 3, 0)).Select
    Selection.Copy
End Sub
票数 1
EN

Stack Overflow用户

发布于 2022-02-02 18:00:31

我认为下面的代码将完成这项工作。

代码语言:javascript
复制
Sub CopyFilledCells()
  Dim lngLastRow As Long

  Sheet2.UsedRange.Clear
  With Sheet1
   lngLastRow = .Range("I2").End(xlDown).Row
   .Range("B3:I" & lngLastRow).Copy Destination:=Sheet2.Range("A1")
  End With

End Sub

向贝恩德问好

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70959915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档