Я пытаюсь скопировать диапазон ячеек на указанное число раз, основываясь на значении ячейки, и начиная с пересечения активной ячейки.
Я пролистал страницу за страницейПроблемы переполнения стека, но ни одно решение не является достаточно близким, чтобы помочь мне.
Private Sub OKButton_Click()
Dim AppTab As String
Dim DDate As Date
Dim Rent As Long
Dim ActiveCost As Long
Dim Msg As String
AppTab = Application.Value
DDate = DispoDate.Value
Rent = RentPymt.Value
ActiveCost = Cost.Value
Msg = "Asset disposal date:"
Sheets(AppTab).Select
Range("A6:N11").Select
Selection.copy
Range("A9").Select
Selection.End(xlToRight).Offset(-3, 1).Select
ActiveSheet.Paste
ActiveCell.Offset(-5, 0).Select
ActiveCell.Value = Msg
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = DDate
ActiveCell.Offset(8, 5).Select
ActiveCell.Value = ActiveCost
ActiveCell.Offset(1, -5).Activate
Dim DataEntry As Worksheet, DataSht As Worksheet
Dim ItemName As Range, ItemCount As Range
Dim NRow As Long, TargetCell As Range
With ThisWorkbook
Set DataEntry = .ActiveSheet
Set DataSht = .ActiveSheet
End With
With DataEntry
Set ItemName = .Range("A11")
Set ItemCount = .Range("H3")
End With
NCol = ActiveCell.Column
With DataSht
NRow = .Range("A" & Rows.Count).End(xlUp).Row + 1
'Set TargetCell = .Range("A" & NRow) 'This works
Set TargetCell = .Cells(NRow, NCol) 'Issue here
TargetCell.Resize(ItemCount.Value, 1).Value = ItemName.Value
End With
Range(Selection, Selection.End(xlToRight)).Select
Selection.copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Unload Me
End Sub
VBA: получение во время выполнения 1004: метод 'Range' объекта '_Worksheet'failed
Обновлено для добавленияКартинки, также обновлен весь Sub с информацией о форме пользователя
Я строю графики амортизации для портфеля активов.Когда кто-то утилизирует, мне нужно изменить график амортизации для нового актива стоимость / арендная плата и отслеживать его по двум разным ставкам.Инициируется пользовательской формой, в которой они вводят обновленную информацию об активах.
Я могу отлично выполнить исходный код расписания amort, но мне нужно, чтобы последующие частичные продажи были динамичными, поскольку портфель мог иметь сотни активов.(Давайте не будем говорить о том, насколько это неэффективно, потому что клиент всегда прав, и в настоящее время я делаю это, копируя и вставляя ... ...)