【发布时间】:2017-08-12 02:36:30
【问题描述】:
我已经在该网站上搜索了一段时间来寻找这个问题的答案,但还没有运气。我有这段代码,我在其中循环遍历一行数字,并根据当时单元格中的数字,确定我复制并粘贴到工作表的内容。我为此使用 Columns,因为这是使我的代码动态化的唯一方法。它可以工作,但是当我粘贴时,我想粘贴比现在粘贴位置更低的单元格。我想知道 Columns 是否有办法指定要粘贴我的数据的列和位置。
代码:
Dim sh As Worksheet
Dim rw As Range
Dim row As Range
Dim cell As Range
Dim RowCount As Integer
Set rw = Range("A5:CG5")
Set sh = ActiveSheet
For Each row In rw.Rows
For Each cell In row.Cells
Select Case cell.Value
Case "2"
ThisWorkbook.Worksheets("Sheet1").Range("E27:E51").Copy Destination:=Sheets("Sheet2").Columns(4)
End Select
Next cell
Next row
【问题讨论】:
-
您可以使用 .Cells (msdn.microsoft.com/en-us/vba/excel-vba/articles/…)。示例:
.Cells(row,column) = "Something or/"& Variable (Could be another .Cells)并使用带有i=i+1或循环For i=first_column To last_column的 For 循环 -
@danieltakeshi 我可以做这样的事情吗? ThisWorkbook.Worksheets("Sheet1").Range("E27:E51").Copy Range(Cells(i,5),Cells(i,5)
-
您想将此范围复制到哪些单元格和工作表?你不能这样。这是一个示例:stackoverflow.com/questions/42420280/… 和一个更高级的示例stackoverflow.com/questions/12138624/…
-
@danieltakeshi 是的,例如在我的工作表 1 上,我正在复制的单元格从第 27 行开始,当我将其粘贴到新工作表时,它位于单元格 D1。我希望将其粘贴到 D27,但要动态粘贴,以便稍后对其进行更多更改
-
第 51 行是最后一行吗?