组合if与循环时的问题

时间:2017-12-29 00:11:41

标签: vba

伙计 - 我已经测试了这一堆,似乎无法解决问题:

  1. 如果声明对/ true或vbchecked响应相同,即如果我检查1月,它会更新所有12个月。如果我查看九月,同样的结果 - 所有月份都会更新。
  2. 根据我选择的月份,这些值会在“2017 Actuals”表单的不同位置输入。如果我选择1月份,他们会被带入第2栏(i + 1),但如果我选择4月份,那么这些数值将在1月到12月,但是第5栏(i + 4)。
  3. 我在下面的参数应该只运行用户在userform上签出的月份。

    Private Sub UpdateActuals_Click()
    Dim p As Integer
    Dim i As Integer
    
    For i = 1 To 12
        If Me.Controls("Month" & i).Value = True Then
            For p = 1 To 12
                Dim wkb As Workbook
                Dim wks As Worksheet
                Application.DisplayAlerts = False
                Application.ScreenUpdating = False
                Application.AskToUpdateLinks = False
                Set wkb = Workbooks.Open(Me.Controls("Location" & p))
                Set wks = wkb.Sheets("Training1")
                wks.Range("Start:Finish").Copy
                ThisWorkbook.Sheets("2017 Actuals").Cells(5, i + 1).PasteSpecial xlPasteValues
                wkb.Close
                Application.DisplayAlerts = True
                Application.AskToUpdateLinks = True
                Application.ScreenUpdating = True
            i = i + 1
            Next p
        End If
    Next i
    
    End Sub
    

0 个答案:

没有答案