excel - 复制粘贴循环 vba - 覆盖当前单元格
问题描述
如果创建可以从一张纸复制并粘贴到另一张纸的 vba,我正在这个过程中。
这是循环:
j = Archive.Range("A12", Archive.Range("A12").End(xlToRight).Columns.Count --> count of sheet 2
(参考表 1:如果第 15 行中的任何一列是 1,那么它将复制到存档)
For i = k to 2 Step -1
If Reference.Cells(15, i). Value = 1 Then Reference.Columns(i).Copy
Archive.Cells(1, 1 + j).PasteSpecial
End If
Next i
宏正在工作,但循环的问题是它只复制并粘贴到下一个可用单元格上,如果单元格 15 中的另一条记录等于 1,则不会继续到下一个单元格。我希望它连续复制粘贴数据到下一个可用列。
解决方案
您需要j
在循环内更新。
例如,如果j
最初等于 15,那么1 + j
对于循环的每次迭代都将等于 16。1 + j
永远不会改变 的值j
。
改为尝试:
If Reference.Cells(15, i). Value = 1 Then
j = j + 1 ' update j
Reference.Columns(i).Copy
Archive.Cells(1, j).PasteSpecial
End If
推荐阅读
- c# - 无法从程序集“Firebase,版本=1.0.0.0,文化=中性,PublicKeyToken=null”加载类型“Firebase.Database.FirebaseObject`1”
- java - 数组中项目的比率总是返回零 ~ HackerRank Plus Minus Problem
- sails.js - 想在 mongodb 的水线中使用 _id 而不是 id
- javascript - 如何在正斜杠前添加字符串?
- python - 当 DEBUG = True 时如何更改 Bulk log 消息?
- html - 无法在表格上添加表格按钮行
- php - PHP如何使用where in替换mysql中的左连接?
- c++ - 任务按处理时间排序时,openMp动态调度和LPT调度一样吗?
- javascript - 使用 charAt() 的文本分类不起作用
- c# - 如何使用 Microsoft.Office.Interop.Excel C# 将 datagridview 结果导出到 excel