excel - 使用带有 VBA 的表格从另一个工作表复制和粘贴
问题描述
Dim Revenue As Worksheet
Set Revenue = ThisWorkbook.Sheets("Revenue")
ThisWorkbook.Activate
Revenue.Range("GVS1Revenue").Find("Energy Revenue").Select
Dim Row1 As String
Row1 = ActiveCell.Row
Dim ReportDate As Variant
ReportDate = Revenue.Range("V19")
Revenue.Range("GVS1Revenue").Find(ReportDate).Select
Dim Column1 As Long
Column1 = ActiveCell.Column
Dim StartingPoint As String
StartingPoint = ActiveSheet.Range("GVS1Revenue").Cells(1, 1)
Dim StartingPointAddress As String
StartingPointAddress = ActiveSheet.Range("GVS1Revenue").Cells(1, 1).Address
Dim NumberOfRows As Integer
NumberOfRows = Cells(Rows.Count, Columns(0, StartingPoint)).End(xlUp).Row
Revenue.Range("StartingPoint").Select
ActiveCell.Offset(Row1 - NumberOfRows, Column1).PasteSpecial xlPasteValues
总体而言-我正在尝试使用表格来避免直接引用单元格。我发现添加的行或列可以完全破坏 VBA 代码。
所以,我的第一次尝试是尝试从另一个工作表中复制一个值并将其粘贴到一个表中。这将每月使用一次,因此变量会发生变化。这意味着我需要使用索引/匹配方法,因为日期逐月变化(所以这是一个移动变量)。我试图用这段代码做的是在表格中找到行和列的地址,这样我就可以将另一个工作簿中的内容粘贴到所述行和列的交叉点(比如 excel 中的索引匹配)。
我想如果我能找到我的表的第一行/列的地址,我可以根据我在 row1 和 column1 中识别的变量使用偏移量。我遇到的问题是 row1 和 column1 变量,这告诉我我的工作表地址,但我不确定如何在表格中使用它。我认为如果我从 row1 和 column1 变量中减去工作表位置,这将引导我找到我在表中的位置,但是 1) 我一直在 ActiveCell.Offset(Row1 - NumberOfRows, Column1).PasteSpecial xlPasteValues 上抛出错误' 一点代码,不知道我的方法对不对。
感谢任何愿意通读本文并尝试解决问题的人,您比我更好!
解决方案
推荐阅读
- python-3.6 - 为 RxPy 中的拖动事件确定 mousePress 和 mouseMove 之间的时间范围
- sql - 根据不同列中的条件选择最大记录
- python - 如何在 Python 中从我的 PATH 中删除一个条目?
- android - 在android中的CardView上放置fab图标
- wordpress - RewriteCond 和 Rewrite Rule 以查找查询字符串并重定向到固定网页
- python - 如何将 np 数组存储到 psql 数据库和 django
- json - 将 GeoJSON 文件从客户端推送到 AWS 上的 PostGIS
- python - 为什么在 Python 中使用覆盖率时得分太低?
- mysql - 我正在尝试向我的 mysql 服务器添加一个新用户,但发生了语法错误。错误 1064(42000)
- git - 如何通过git计算更改的行?