excel - 循环工作表并将值复制到范围
问题描述
我正在尝试遍历所有工作表(前两个除外),从每个工作表中复制一个值,然后将复制的值放入一列中。这就是我到目前为止所拥有的。它没有给我一条错误消息,但它也不起作用。
Sub copyGrades()
Dim ws As Excel.Worksheet
Dim grade As Double
Dim rng As Range
Dim rcell As Range
Set rng = ThisWorkbook.Worksheets("Student List").Range("H2:H174")
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "Rubric" And ws.Name <> "Student List" Then
grade = ws.Range("E11").Value
For Each rcell In rng.Cells
rcell.Value = grade
Next rcell
End If
Next ws
End Sub
解决方案
我无法让嵌套循环工作,但我能够使用另一种方法解决它(在工作表名称和给定列中的值之间寻找匹配)。
Sub copyGrades()
Dim ws As Excel.Worksheet
Dim rng As Range
Dim rcell As Range
Set rng = ThisWorkbook.Worksheets("Student List").Range("F2:F174")
For Each rcell In rng.Cells
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = rcell.Value Then
rcell.Offset(0, 3).Value = ws.Range("E11").Value
End If
Next ws
Next rcell
End Sub
推荐阅读
- python - 验证 TensorFlow 是否最大限度地利用了 NVIDIA GPU
- java - 在不使用 pro-guard 的情况下在 android 中使用本机库时减小 .apk 文件的大小
- php - 递归函数在php中返回不正确的值
- python - 滚动不适用于 PySimpleGUI 中的下拉选择
- c++ - Bazel:本地访问附近的文件
- javascript - 如何使用 prismjs 在 vuejs 中将副本添加到剪贴板功能?
- salesforce - 未知构造函数'.......(ApexPages.StandardController 控制器)'
- node.js - 将参数/通配符定义为 npm 脚本键/名称的一部分
- jenkins - 如何将 Sonarqube 添加到 Jenkins
- wordpress - 在 wordpress 管理员中打开主题页面时出错