2016-07-16 11 views
0

Я хотел бы получить некоторую помощь со следующими 2 вопроса:VBA превосходит копию на другой лист

Первых,

У меня есть Лист1, который петли и получает различные значения с веба-сайта для клеток

B68, В69, В67, А61, D85 и В73, Я хотел бы написать VBA, чтобы скопировать эти значения в Sheet2, чтобы

А1, В1, С1, D1, E1, F1,

, но с мой текущий код, если Sheet1 в любой ячейке пуст, он сдвинет скопированную ячейку (вверх (конец (xlUP), мне нужно создать с каждым набором данных следующую строку, независимо от значения, даже некоторые скопированные ячейки пустые ...

во-вторых,

Добавить условие, что каждый раз, когда D85 в Лист1 пусто, то он будет копировать значения из ячейки D86, regardles значением D86 ...

DoEvents 

    'Copy to Another sheet 

    With Worksheets("Sheet2") 
     .Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B68") 
     .Range("B" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B69") 
     .Range("C" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B67") 
     .Range("D" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("A61") 
     .Range("E" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("D85") 
     .Range("F" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B73") 


    End With 

ответ

1

код выглядит для последней строки UsedRange в Sheet2, даже если некоторые ячейки пусты. Затем он копирует данные с листа ws в Sheet2.

Dim des_ws As Excel.Worksheet 

Set des_ws = ActiveWorkbook.Worksheets("Sheet2") 

LastRow = des_ws.UsedRange.Rows(des_ws.UsedRange.Rows.count).row + 1 

With des_ws 
    .Range("A" & LastRow) = ws.Range("B68") 
    .Range("B" & LastRow) = ws.Range("B69") 
    .Range("C" & LastRow) = ws.Range("B67") 
    .Range("D" & LastRow) = ws.Range("A61") 
    If ws.Range("D85") = "" Then 
     .Range("E" & LastRow) = ws.Range("D86") 
    Else 
     .Range("E" & LastRow) = ws.Range("D85") 
    End If 
    .Range("F" & LastRow) = ws.Range("B73") 
End With 
+0

OP добавляет запись в Sheet2, поскольку данные на листе 1 извлекаются с веб-сайта. Вы только переписываете значения на Sheet2 и не добавляете к нему записи. –

+0

@ ТомасИнзина, я только что увидел, что пропустил эту просьбу. –

+0

@ThomasInzina LOL, я согласен, проблема в том, что я задал несколько вопросов здесь (не так просто). Я не получил ответ так быстро, как мы им даем –

Смежные вопросы