excel - 为特定工作表转换特定列中的公式
问题描述
我试图让我的宏插入一个公式,然后将其计算转换为仅用于 A 列的值。
它似乎正在处理 Sheet3,但它完全忽略了 sheet2
Private Sub FillRows2()
'
Sheets("Sheet2").Range("A14:A" & Sheets("Sheet2").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Sheets("Sheet3").Range("A8:A" & Sheets("Sheet3").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If sh.name = "Sheet2" Or sh.name = "Sheet3" Then
With Range(Range("A1"), Range("J" & Rows.Count).End(xlUp))
.Value2 = .Value2
End With
End If
Next sh
Sheets("Sheet2").Range("B14:B" & Sheets("Sheet2").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Sheets("Sheet3").Range("B8:B" & Sheets("Sheet3").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
'
Sheets("Sheet2").Range("G14:G" & Sheets("Sheet2").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Sheets("Sheet3").Range("G8:G" & Sheets("Sheet3").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
End Sub
解决方案
如果你稍微调整你的代码,你可以获得你想要的结果。以下内容已经过测试,并且适用于我,使用一个简单的公式来测试转换为值。
Option Explicit
Sub FillRows2()
Sheets("Sheet2").Range("A14:A" & Sheets("Sheet2").Range("J" & Rows.Count).End(xlUp).Row).Formula = "=5*5"
Sheets("Sheet3").Range("A8:A" & Sheets("Sheet3").Range("J" & Rows.Count).End(xlUp).Row).Formula = "=5*5"
Dim sh As Worksheet
For Each sh In Sheets(Array("Sheet2", "Sheet3"))
With sh.Range("A1:A" & sh.Range("A" & Rows.Count).End(xlUp).Row)
.Value = .Value
End With
Next sh
Sheets("Sheet2").Range("B14:B" & Sheets("Sheet2").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Sheets("Sheet3").Range("B8:B" & Sheets("Sheet3").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Sheets("Sheet2").Range("G14:G" & Sheets("Sheet2").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
Sheets("Sheet3").Range("G8:G" & Sheets("Sheet3").Range("J" & Rows.Count).End(xlUp).Row).Formula = "Formula here"
End Sub
推荐阅读
- javascript - 为什么一个 DOM 元素最多可以有两个相同的命名空间声明?
- java - 如何在没有詹金斯的情况下在 selenium web-driver java 中通过电子邮件发送执行报告?
- android - Android - Zebra StageNow - 有没有办法批量禁用应用程序列表的通知
- java - 如何将自定义映射添加到现有的 mapStruct 映射器?
- php - 为什么我在克隆 github 7.4 分支时会得到旧版本的 php7.4?
- python - 如何拆分此字符串 a\r\b\r\c
- python - Asyncio 意外条件竞争问题
- php - 如何建立关系?
- python - 如何在从搅拌机导出的图像中保存相机姿势?
- linux - 在 FFmpeg 输出中按语言映射流反转