2016-07-26 7 views
0

Ich habe für eine Weile auf einem visuellen Kalender für das Projektmanagement gearbeitet. Der Kalender nimmt die Userform: UserForm http://i68.tinypic.com/263bwuh.pngZwei Fälle zusammen bei der Eingabe von Daten auf bestimmten Blatt

Ich habe zur Zeit einen Code in Kraft gesetzt, die Daten in dem entsprechenden Blatt zu filtern, basierend auf welchem ​​Wert sie wählen für „Impact“ - entweder „High“ oder „Low“

On "Enter Project"

Private Sub enterButton_Click() 

    If Not CheckInputs Then Exit Sub 'check for fields to have values 
    Process GetWs(Me.impactCombobox.Value) ' process data passing the proper worksheet got from GetWs() function 
    MsgBox "Project Entered Successfully" 
    ClearUFData 'clear the data 

Die GetWS Funktion drücken:

Function GetWs(impact As String) As Worksheet 
    Select Case impact 
     Case "High" 
      Set GetWs = Worksheets("HI Project Work Database") 
     Case "Low" 
      Set GetWs = Worksheets("LI Project Work Database") 
'  Case Else 
    End Select 
End Function 

Wie würde ich in anot über das Einbetten gehen ihr Fall, der für die Optionsfelder "Projektarbeit" und "Implementierung" spezifisch ist?

Zum Beispiel:

High Impact - Projektarbeit = Kalkulationstabelle "HALLO Projektarbeit Datenbank"

Low Impact - Projektarbeit = Spreadsheet "LI Projektarbeit Datenbank"

High Impact - Umsetzung = Spreadsheet "HI Implementierungsdatenbank"

Low Impact - Implementierung = Spreadsheet "LI Implementierungsdatenbank"

Antwort

0

Ich glaube, du suchst so etwas.

Function GetWs(impact As String) As Worksheet 
    Select Case impact 
     Case "High" 
      Select Case True 
       Case ProjectWorkOption.Value = True 
        Set GetWs = Worksheets("HI Project Work Database") 
       Case ImplementationOption.Value = True 
        Set GetWs = Worksheets("HI Implementation Database") 
      End Select 
     Case "Low" 
      Select Case True 
       Case ProjectWorkOption.Value = True 
        Set GetWs = Worksheets("LI Project Work Database") 
       Case ImplementationOption.Value = True 
        Set GetWs = Worksheets("LI Implementation Database") 
      End Select 
    End Select 
End Function 

Offensichtlich müssen Sie die Namen Ihrer Optionsfelder austauschen.

0

Fügen Sie eine If zu Ihrer Select Case hinzu. Angenommen, Ihr User_Form Name ist User_Form1. Der folgende Code passt zu Ihnen:

Function GetWs(impact As String) As Worksheet 
    Select Case impact 
     Case "High" 
      If UserForm1.Project_Work.Value = True Then 
       Set GetWs = Worksheets("HI Project Work Database") 
      Else 
       If UserForm1.Implementation.Value = True Then 
        Set GetWs = Worksheets("HI Implementation Database") 
       End If 

      End If 
     Case "Low" 
      If UserForm1.Project_Work.Value = True Then 
       Set GetWs = Worksheets("LI Project Work Database") 
      Else 
       If UserForm1.Implementation.Value = True Then 
        Set GetWs = Worksheets("LI Implementation Database") 
       End If 
      End If 

'  Case Else 

    End Select 
End Function 
Verwandte Themen