excel - 嵌套循环中复制粘贴列的溢出错误
问题描述
我需要从名为“Matrix”的工作表中复制 y 值列并将它们粘贴到名为“All Normalized”的工作表中,格式不是问题,但列数不仅是 10,而且是无限的。
我需要将 Matrix 中的值复制为一列,并将每个单元格除以列中的第一个数字以对其进行规范化(第一个值从第 3 行开始)。而且我不断收到此错误:“运行时错误'6'-溢出”。
如何修复此错误并正确规范化数据?
Sub NewNorm()
Set WB = ThisWorkbook
Application.ScreenUpdating = False
'X-Values
With WB.Sheets("All Normalized")
[A3].Value = 0
[A4].Value = 1E-18
[A5].Value = 0.0001
[A6].Value = 0.001
[A7].Value = 0.01
[A8].Value = 0.5
[A9].Value = 1
[A10].Value = 2
[A11].Value = 3
[A12].Value = 4
[A13].Value = 5
[A14].Value = 6
[A15].Value = 7
[A16].Value = 8
[A17].Value = 9
[A18].Value = 10
[A19].Value = 20
[A20].Value = 30
[A21].Value = 40
[A22].Value = 50
[A23].Value = 60
[A24].Value = 70
[A25].Value = 80
[A26].Value = 90
[A27].Value = 100
[A28].Value = 150
[A29].Value = 175
[A30].Value = 180
[A31].Value = 185
[A32].Value = 190
[A33].Value = 200
[A34].Value = 300
[A35].Value = 400
[A36].Value = 500
[A37].Value = 1000
End With
Dim ColumnCount As Integer
ColumnCount = 10
Dim Colum As Long
For Columz = 2 To columnz 'Loop through each cell, normalizing
For rowz = 3 To 10
Sheets("All Normalized").Cells(rowz, Columz).Value = Sheets("Matrix").Cells(rowz, Columz).Value / Sheets("Matrix").Cells(3, Columz).Value 'ERROR HERE
Next rowz
Next Columz
Application.ScreenUpdating = True
End Sub
解决方案
你的叙述,
...将每个单元格除以列中的第一个数字...
你的数据,
[A3].Value = 0
[A4].Value = 1E-18
[A5].Value = 0.0001
[A6].Value = 0.001
...
你的代码,
Sheets("All Normalized").Cells(rowz, Columz).Value = _
Sheets("Matrix").Cells(rowz, Columz).Value / Sheets("Matrix").Cells(3, Columz).Value
您不能将数字除以零。它会导致溢出错误。
推荐阅读
- java - @Required 默认情况下不按名称自动连接
- django - 对象模型数组
- php - php ON DUPLICATE UPDATE 不起作用
- c# - 为什么 IdentityServer4 代码会破坏我的身份项目?
- jquery - JQuery 统计序列化的项目数
- c# - ASP.NET MVC 5:log4net 不写入文件
- jquery - 按钮作为提交和调用函数
- javascript - 如何获取列表中项目的索引并将其映射到 json 对象以执行 onClick 事件
- html - 嵌套的 flexbox 无法在旧的 Android 浏览器中正确显示
- php - Codeigniter - 设置 dbprefix 触发器 [无法修改标头信息 - 标头已发送]