Excel VBA копирует макрос строки из строки в диапазон

#excel #vba

#excel #vba

Вопрос:

Мой текущий код VBA извлекается из одного листа и разбивает данные на 2 в зависимости от условия (какое значение в столбце A). Он копирует всю строку на основе моего текущего кода, который

ОБНОВИТЬ КОД:

 Sub discoCopydata()
'DEFINES THE SHEETS AND THE RANGE USED FOR THE COPY PROCESS
Dim dataSource As Worksheet: Set dataSource = ThisWorkbook.Sheets("Miscellaneous   Holds")
Dim dataTargetA As Worksheet: Set dataTargetA = ThisWorkbook.Sheets("CDN")
Dim dataTargetB As Worksheet: Set dataTargetB = ThisWorkbook.Sheets("US")
Dim dataSourceRange As Range: Set dataSourceRange = dataSource _
.Range("A1:A" amp; dataSource.Cells(dataSource.Rows.Count, "A").End(xlUp).row)

' LOOP CAN BE ADJUSTED TO MULTIPLE CONDITIONS
For Each Cell In dataSourceRange
    'IS THE DATA FOR CAN?
    If Cell.Value = "CAN" = True Then
        dataTargetA.Range("A" amp; Rows.Count).End(xlUp).Offset(1).EntireRow.Value _
        = Cell.EntireRow.Value
    'IS THIS US DATA?
    ElseIf Cell.Value = "US" Then
        dataTargetB.Range("A" amp; Rows.Count).End(xlUp).Offset(1).EntireRow.Value _
        = Cell.EntireRow.Value
    End If
Next
  

Завершить вложенный
Что мне нужно сделать, так это ограничить это диапазоном, т.Е. От A5: K1000, поскольку это размер моих импортированных данных. Могу ли я сделать это в рамках моего кода. Я мог бы переключиться Cell.EntireRow.Value на Cell.Range.Value то, какие данные должны правильно вставляться в диапазон ячеек?

Комментарии:

1. Трудно точно сказать, что вам нужно: одна строка кода не дает большого контекста.

2. Просто обновил код, я думаю, если я изменю ячейку. Полное значение Row.Value в ячейку.Range. Значение, оно будет работать, но я ошибка: (

Ответ №1:

Попробуйте:

 If Cell.Value = "CAN" = True Then
    dataTargetA.Range("A" amp; Rows.Count).End(xlUp).Offset(1).Resize(1,11).Value _
    = Cell.Resize(1, 11).Value
  

Комментарии:

1. Сначала это не работало, но я удалил Cell.Resize до (1, 10).Value, и это устранило проблему! Спасибо, Тим!