Ошибка переполнения при вставке копий столбцов во вложенном цикле - PullRequest
0 голосов
/ 31 декабря 2018

Мне нужно скопировать столбцы значений y из листа с именем «Matrix» и вставить их в лист с именем «All Normalized», формат не имеет значения, но количество столбцов не просто 10, а неограниченно.

Мне нужно скопировать значения из матрицы в виде столбца и разделить каждую ячейку на первое число в столбце, чтобы нормализовать его (первое значение начинается со строки 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

1 Ответ

0 голосов
/ 31 декабря 2018

Ваш рассказ,

... разделите каждую ячейку на первое число в столбце ...

Ваши данные,

[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

Нельзя делить число на ноль.Это приводит к ошибке переполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...