首页 > 解决方案 > 如何将多个值放入 1 个变量或多个变量中?

问题描述

仅用木材提取过山车

            Sub RollerCoaster()

            Dim strType As String
            Dim blnLoop As Boolean
            Dim strCoaster As String

            strType = "Wood"

            Range("A2").Select
            blnLoop = True

            Do Until ActiveCell.Value = ""
                ActiveCell.Offset(1, 0).Select
                strType = ActiveCell.Offset(0, 2).Value

                    If strType = "Wood" Then
                        strCoaster = ActiveCell.Value
                        blnLoop = False
                    Else
                    End If

            Loop

            MsgBox ("The RollerCoaster that are made of Wood are " & strCoaster)

            End Sub

所以我创建了一个子程序,它可以找到木制过山车,并在消息框中显示哪个过山车是用木头制成的。但是,如果列表中有更多内容,如何让我的代码显示不止一个过山车。(看图片)

标签: vbaloopsif-statement

解决方案


您可以创建一个数组来获取每个值。为此,您可以使用代码 Dim stringArray() As String 使字符串数组变暗,然后将 strCoaster 的每个值包含在该数组中。您还可以使用以下代码对变量赋值中的连接进行相当小的调整:

        Sub RollerCoaster()

        Dim strType As String
        Dim blnLoop As Boolean
        Dim strCoaster As String

        strType = "Wood"

        Range("A2").Select
        blnLoop = True

        Do Until ActiveCell.Value = ""
            ActiveCell.Offset(1, 0).Select
            strType = ActiveCell.Offset(0, 2).Value

                If strType = "Wood" Then
                    strCoaster = ActiveCell.Value & " ," & strCoaster
                    blnLoop = False
                Else
                End If

        Loop

        MsgBox ("The RollerCoaster that are made of Wood are " & strCoaster)

        End Sub

如果您迭代地连接这些值,您可以列出所有值。如果你愿意,你也可以使用 & vbCrLf & 换行。


推荐阅读