excel - 我如何让这个 Excel 宏记录在下一行重复,直到没有更多数据
问题描述
我对 VBA 相当陌生,我想做的是让这个宏记录代码在单元格 1、单元格 2 和单元格 3 上重复,直到 A col 中没有更多的数据字段。基本上它应该复制 A1 中的单元格并复制到书 2 然后点击刷新数据然后将一些信息复制回 Book1 并从 A1 重复直到没有更多单元格的数据留在 A 列中
我曾尝试在线阅读以进行此操作,但无法弄清楚
Sub Macro1()
'
' Macro1 Macro
'
'
Range("A2").Select
Selection.Copy
Windows("Book2").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.RefreshAll
Windows("Book1").Activate
Range("F2").Select
Windows("Book2").Activate
Range("K6").Select
Selection.Copy
Windows("Book1").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Windows("Book2").Activate
Range("L6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Book1").Activate
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range("G3").Select
End Sub
解决方案
你可以这样做:
Sub Macro1()
Dim c As Range, sht2 As Worksheet
'adjust sheet names as required
Set c = Workbooks("Book1").Sheets("Sheet1").Range("a2")
Set sht2 = Workbooks("Book2").Sheets("Sheet1")
Do while Len(c.value) > 0
sht2.Range("A2").Value = c.value
sht2.Parent.RefreshAll
'fixed source cells
c.EntireRow.Cells(6).Value = sht2.Range("K6").Value
c.EntireRow.Cells(7).Value = sht2.Range("L6").Value
'...or last populated cells in K,L
c.EntireRow.Cells(6).Value = sht2.Cells(rows.count, "K").End(xlUp).Value
c.EntireRow.Cells(7).Value = sht2.Cells(rows.count, "L").End(xlUp).Value
Set c = c.Offset(1, 0) 'next cell down
Loop
End Sub
推荐阅读
- jestjs - 使用 Jest 和 nestjs-typegoose 测试 InjectModel
- java - 如何在java中转换为对象时跳过json的两个父节点
- inline-editing - 如何在 atlaskit 的内联编辑视图上触发取消事件?
- line - 为什么我天真的画线算法比 Bresenham 快
- python - Python:如果文件不存在,如何继续循环遍历多个 csv
- python - 无法从“firebase”导入名称“Firebase”
- javascript - Laravel - 动态输入字段无法提交而没有显示任何错误
- dataframe - 带有自定义字典的 MatPlotLib 转换为图形
- r - 如何在 R 中找到 alpha 0.05 的 chi_square 值和 1 的自由度?
- python - 使用fillna()导致python内存错误的原因