excel - 遍历列表并为每个项目运行代码(VBA)
问题描述
我有一个名称列表,以及一些我想为每个名称运行的代码。我要开始的是:
Dim cell As Range
For Each cell In Worksheets("Reference").Range("b2:b237")
[rest of my code here]
Next cell
问题是,我实际上想要做的是:
步骤 1) 从单元格 A1 的下拉列表中选择一个名称
第 2 步)还有一堆其他单元格的公式引用 A1
步骤 3) 运行代码
步骤 4) 从 A1 的下拉列表中选择下一个名称,重复步骤 2 和 3,直到列表结束。
编辑:我在一个旧线程上发现了一些似乎对我正在做的事情有用的东西:
Sub Macro1()
Sheets("Sheet2").Activate
Range("A1").Select
Do While True
If Selection.Value = "" Then
Exit Do
Else
Selection.Copy
Sheets("Sheet1").Activate
Range("A1").Activate
ActiveSheet.Paste
[rest of my code]
Sheets("Sheet2").Activate
Selection.Offset(1, 0).Select
End If
Loop
End Sub
这应该可以完成工作,但是如果有人有更有效的方法而不是将列表中的每个值复制并粘贴到单元格中,那也将非常有帮助!
谢谢你。
解决方案
这将获取一个范围内的每个名称并按顺序将其放入一个单元格中 - 您需要进行编辑以将您的工作表名称和范围放入
Sub LoopThroughNames()
dim RangeWithNames as range
'define list of names - needs editing
set RangeWithNames = Worksheets("othersheetname").Range("range with names")
dim TargetCell as range
set TargetCell = worksheets("Sheet with calcs").Range("A1") 'top sheet, cell A1 edit as needed
dim r as range
for each r in RangeWithNames
targetcell= r 'assign name into A1
'do your stuff
next r
End Sub
推荐阅读
- java - InvalidDefinitionException:找不到内部类的序列化程序
- ruby-on-rails - Sidekiq - 自定义作业调度程序
- javascript - 在 *ngFor 中创建唯一的变量名
- python - Python:从dictionaryCSV文件中搜索字符串并显示匹配的行
- python - Python:如何在嵌套列表的每一行中实现一个新行
- python - 如何使用dict理解实现以下结果?
- html - 堆叠 div 的相对和绝对位置
- java - 我们公司正计划转向 AdoptOpenJdk 11,并在其上运行 Wildfly 10
- java - 当我只在布局中声明一个按钮时,为什么我的 android 应用程序中会显示两个按钮
- angular - 无法读取未定义的“ngOnInit”“getData”的属性-Angular-Unit testing-jasmine