我需要帮助使用vba代码安排不同的值

时间:2016-07-21 16:01:20

标签: excel vba excel-vba

所以我有一张excel表,其中包含用户可以在不同时间查看的信息。我遇到的问题是,如果用户想要使用服务器或网格,我希望用户选择单元格c7,根据他们的回答,他们将在单元格上获得不同的响应(c9)。在代码中,我遇到的问题是它不知道用户是选择网格还是服务器。所以我想将其添加到我的代码中。这是我的代码。

Sub findData()
Dim workflow As String
Dim server As String
Dim finalrow As Integer
Dim i As Integer

workflow = Sheets("Sheet1").Range("c5").Value
server = Sheets("sheet1").Range("c9").Value
Grid = Sheets("sheet1").Range("c9").Value

finalrow = Sheets("Sheet3").Range("c100").End(xlUp).Row

For i = 5 To finalrow
    If Cells(i, 3) = workflow Then
    If Cells(i, 4) = server Then
    If Cells(i, 5) = Grid Then
    Range(Cells(i, 2), Cells(i, 12)).Copy
    Range("j42").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
    End If
    End If
    End If
Next i

End Sub

enter image description here

1 个答案:

答案 0 :(得分:0)

为什么不采用这种方式?

Sub findData()
Dim workflow As String
Dim finalrow As Integer
Dim i As Integer

workflow = Sheets("Sheet1").Range("c5").Value

finalrow = Sheets("Sheet3").Range("c100").End(xlUp).Row

For i = 5 To finalrow
    If Cells(i, 3) = workflow Then ' 1. If Cells(i, 3) = workflow
    If Cells(i, 4) = "Server" Then ' 2. If Cells(i, 4) = "Server"
    Range(Cells(i, 2), Cells(i, 12)).Copy
    Range("j42").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
    ElseIf Cells(i, 4) = "Grid" Then ' 2. If Cells(i, 4) = "Server"
    Else ' 2. If Cells(i, 4) = "Server"
    'not handled
    End If ' 2. If Cells(i, 4) = "Server"
    End If ' 1. If Cells(i, 3) = workflow
Next i

End Sub