Sub InsertRow()
Call BlankColumns
'Call DeleteZeros
'normalizes the data extracted from QM QSRs
'If Columns included in QSR Change, THe column references will have to be adjusted
Dim lastcol As Integer 'Idenfies How many Questions are in Dataset
Dim r2a As Long 'Row to copy
Dim nr As Integer '# of people to copy
Dim r2s As Integer 'will copy each data set for however many questions there is
Dim R As Integer 'Counts how many people are in the dataset
R = Range("A4", Range("A4").End(xlDown)).Rows.Count
With ActiveSheet
lastcol = .Cells(1, .Columns.Count).End(xlToLeft).Column - 6
r2a = (lastcol/2) - 2
r2s = (lastcol/2)
End With
For nr = 0 To R
Cells(((nr * r2s) + 4), 1).EntireRow.Copy
Range(ActiveCell, ActiveCell.Offset((r2a), 0)).EntireRow.Insert Shift:=xlDown
Next nr
Call pasteanswers
Call PasteActivityCode
Question = MsgBox("Upload information to Database?", vbYesNo + vbQuestion, "Database Upload")
If Question = vbYes Then
Call SaveWorkbook
Call ExportData
Else
End If
End Sub
Ошибка происходит вCells Переполнение Row Значение
Cells(((nr * r2s) + 4), 1).EntireRow.Copy
С кодом выше У меня возникают проблемы, когда значение ячейки строки больше, чем 32768, как мне сделать это позволить Long вместо Integer
Я не уверен, как определить эту ячейку, чтобы она могла ссылаться на строки больше целого. Также приветствуются альтернативные решения!
Какую версию вы используете? –
Убедитесь, что все переменные длинны, явно объявляя их; 'Dim R as Long' и т. Д. –
Я использую excel 2013, я включу весь код, чтобы дать более четкое изображение и именно там, где происходит переполнение! –