首页 > 解决方案 > 创建列如下

问题描述

我在 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()

标签: excelvba

解决方案


尝试:

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

推荐阅读