Создайте столбец, как показано ниже - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть два столбца в Excel

col1    col2
NA      Missing
12      Pass
NA      Missing

Итак, мне нужно сгенерировать col3, как будто Missing, а затем упомянуть, что Missing else принимает значение "12".как показано ниже:

col3
Missing
12
Missing

Как это сделать в VBA?Примечание: мне нужно получить формат даже, не только значение, которое я пытался сохранить все значения в массиве, а затем отобразить в Excel, но это не сработало, и даже мне нужно формат

Set cw = Worksheets("5").Range("G15:G17")
For Each cwVal In cw
If cwVal = "Missing" Then
    ReDim Preserve arr(i)
    arr(i) = cwVal
    i = i + 1
Else
    ReDim Preserve arr(i)
    arr(i) = cwVal
    i = i + 1
End If
Next cwVal
Worksheets("Summary").Range("G6:G8") = arr()

Ответы [ 2 ]

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

Попробуйте:

Option Explicit

Sub test()

Dim i As Long, j As Long

    With ThisWorkbook.Worksheets("5")

        j = 6

        For i = 15 To 17

            If .Range("G" & i).Value = "Missing" Then
                .Range("G" & j).Value = "Missing"
            Else
                .Range("G" & j).Value = .Range("F" & i).Value
            End If

            j = j + 1

        Next i

    End With

End Sub
0 голосов
/ 11 декабря 2018

Давайте просто дадим вам цикл с регистром выбора, чтобы вы могли указать, что копировать (сохранить формат), и просто вставить скопированную ячейку:

dim i as long, lr as long
with sheets("5") 'assuming this is maintained
    lr = .cells(.rows.count,1).end(xlup).row 'dynamically finds last row in sheet
    for i = 2 to lr 'assumes row 1 is headers
        select case .cells(i,2).value
            case "missing"
                .cells(i,2).copy
            case else
                .cells(i,1).copy
        end select
        .cells(i,3).pastespecial paste:=xlpastevaluesandnumberformats
    next i
end with

написал это из моей головы, не проверено


edit1: вернулся и использовал .pastespecial с сохранением форматирования soruce ... забыл об этом, когда я изначально ошибся .paste

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