vba - 将动态行复制到表中
问题描述
我想找到解决我遇到的这个问题的方法。
我有一个运行此代码的按钮:
Sub CopyValues()
Dim ws As Worksheet
Set ws = Worksheets("report")
Dim oNewRow As ListRow
Set oNewRow = ThisWorkbook.Worksheets("report").Range("Table1").ListObject.ListRows.Add(AlwaysInsert:=True)
With ThisWorkbook.Sheets(1)
oNewRow.Range.Cells(1, 1).Value = ThisWorkbook.Worksheets(1).Range("A4")
oNewRow.Range.Cells(1, 2).Value = ThisWorkbook.Worksheets(1).Range("B4")
oNewRow.Range.Cells(1, 3).Value = ThisWorkbook.Worksheets(1).Range("D4")
oNewRow.Range.Cells(1, 4).Value = ThisWorkbook.Worksheets(1).Range("C4")
oNewRow.Range.Cells(1, 5).Value = ThisWorkbook.Worksheets(1).Range("G4")
oNewRow.Range.Cells(1, 6).Value = ThisWorkbook.Worksheets(1).Range("F4")
oNewRow.Range.Cells(1, 7).Value = ThisWorkbook.Worksheets(1).Range("E4")
End With
End Sub
当我按下按钮时,它会将值从范围的第一行复制到表中。每次我按下按钮时,它都会将同一行复制到表中的新行。
我想要的是:范围(它是范围而不是表格)在名为“源”的工作表中。当我按下按钮时,我希望它将每一行复制到工作表“报告”中表格的相应行中。
我的猜测是,上面的代码必须修改为包含一个循环,以便向下遍历每一行,直到找到一个空白行,但范围也必须从 A4 更改为 A5 和 A6,等等开直到空白。我不知道如何在 VBA 中执行该代码。
注意:如果您注意到代码中的顺序是 ABDCGFE,那是因为我需要将值复制到的表与源表的顺序不同。我需要这样,这就是为什么我不能做一个简单的复制粘贴。
注意 2:工作表“源”中范围的行最终将是动态的!
非常感谢
解决方案
像这样(未经测试)的东西应该可以工作:
Sub CopyValues()
Dim rwSource As Range, lo As ListObject
Set rwSource = Worksheets("source").Rows(2) '<< first row to copy from
Set lo = ThisWorkbook.Worksheets("report").Range("Table1").ListObject
Do While Application.CountA(rwSource) > 0
'Assign the values in one shot as an array....
lo.ListRows.Add(AlwaysInsert:=True).Range.Cells(1).Resize(1, 7).Value = _
Array(rwSource.Cells(1), rwSource.Cells(2), rwSource.Cells(4), _
rwSource.Cells(3), rwSource.Cells(7), rwSource.Cells(6), _
rwSource.Cells(5))
Set rwSource = rwSource.Offset(1, 0) '<< next source row
Loop
End Sub
推荐阅读
- c# - 如何解决针对特定页面发生的此 ASP.NET MVC 5 HTTP 错误?
- c# - 机器人连接器返回 Forbidden (403) 和 Microsoft.Bot.Connector.ErrorResponseException
- angular2-nativescript - RadListView 不显示项目
- c - 从用 pymodbus 编写的 modbus slave 和 C 中的 modbus master 读取寄存器时出现问题
- javascript - 是否可以将 CSS 文件中的 HTML 及其样式组件解析为 jsPDF `doc.fromHTML()`?为我的 HTML 组件使用 React
- php - 替换文件中特定文本的换行符
- python - 验证损失增加和恒定训练精度 1D cnn
- twilio - 如何在我的 java 应用程序中集成 Twilio MMS web hook
- java - 如何打印定位器路径
- javascript - React hashRouter 刷新时没有呈现正确的组件