首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA -复制包含空白单元格的-pasting列

VBA -复制包含空白单元格的-pasting列
EN

Stack Overflow用户
提问于 2018-11-09 01:37:44
回答 2查看 61关注 0票数 1

您好,我正在尝试写一个代码,将不同列中的值从一个工作表复制到另一个工作表(两个工作表具有相同的标题),有几个列,我可以简单地复制和粘贴使用下面的代码。但是对于中间有空白列的列,复制这些列的最佳方法是什么。我知道这可以使用变量来完成,我很好奇是否可以在不使用任何变量的情况下完成。

此外,有没有更聪明的方法来编写代码来一次性复制所有列(无论是否声明任何变量)

代码语言:javascript
复制
Sheets("type 1").Select
Cells.Find(What:=" Netherland ").Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("type 2").Select
Cells.Find(What:=" Netherland ").Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste 
EN

回答 2

Stack Overflow用户

发布于 2018-11-09 02:05:56

你可以试试这样的东西

代码语言:javascript
复制
Worksheets("type 2").Columns(Worksheets("type 2").Find("*Netherland*").Column).Value _
= Worksheets("type 1").Columns(Worksheets("type 1").Find("*Netherland*").Column).Value

通过将列号设置为变量,并使用它们而不是实际的行来查找它们,可以使这一过程更简洁,但这不需要任何额外的变量。

票数 0
EN

Stack Overflow用户

发布于 2018-11-09 04:01:08

您可以尝试使用SpecialCells属性来包括整个列,包括出现在第一个和最后一个单元格之间的任何空单元格。

所以你有:

代码语言:javascript
复制
Range(Selection, Selection.End(xlDown)).Select

取而代之的是使用如下内容:

代码语言:javascript
复制
.Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell))

不过,您必须更改范围引用以适应您的项目。

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

https://stackoverflow.com/questions/53213283

复制
相关文章

相似问题

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