excel - 如何在一个“子”功能中跨多个工作表执行操作
问题描述
为此,我想将值插入到一个工作簿中的两个单独的工作表中。
为什么这不起作用?
Sub TEST()
Dim result1 As Worksheet
Dim result2 As Worksheet
Set result1 = ActiveWorkbook.Sheets("Sheet1")
Set result2 = ActiveWorkbook.Sheets("Sheet2")
result1.Range(Cells(1, 1), Cells(5, 5)).Value = "1"
result2.Range(Cells(1, 1), Cells(5, 5)).Value = "2"
End Sub
我希望这会使A1:E5
第一张纸上的值在“1”范围内,第二张纸上的值在“2”范围内。我知道:
Range(Cells(1, 1), Cells(5, 5)).Value = "1"
工作,但我不是 100% 相信其余的。
解决方案
代替:
result1.Range(Cells(1, 1), Cells(5, 5)).Value = "1"
和:
Range(result1.Cells(1, 1), result1.Cells(5, 5)).Value = "1"
(与 相同result2
)
为什么:
该Range()
函数在接受的输入类型方面非常通用。例如:
- 一个字符串
- 一组字符串
- 一组其他“较小”的范围
这是最后一种需要谨慎的形式。如果您不限定“小”范围,Excel 会假定您要使用 Activesheet 上的单元格。
推荐阅读
- java - 在 Netbeans 中连接天蓝色数据库的 Java 程序出现错误
- .net - 将大型 vb.net 应用程序从 3.5 移动到 4.5 .net
- python - 在做 scipy.signal.spectrogram 时,我怎么知道会有多少时间段?
- r - 根据两列中的数据转置数据框中的值
- mysql - 无法在 Ubuntu 18.04.4 LTS 中安装 MySQL
- c# - Xamarin 表单 - 网址未在 Webview 中显示
- varnish - 如何以 varnishncsa 客户端模式日志格式记录后端?
- html - 如何在不匹配属性名称的情况下在选择中使用对象子作为值
- c# - 将二进制文件从 MemoryStream 保存到网络路径会间歇性地保存 0 字节文件
- c++ - 多线程 UDP 服务器中 io_context 或 std::cout 的奇怪行为