Excel-VBA: Dynamische Bereich für die ComboBox.Rowsource-Werte nicht angezeigt, wenn die userForm aufgerufen commandbutton

Sollte der Titel einen objektiven überblick über das problem, aber ich bin mit einem dynamischen benannten Bereich für den Einsatz in einem Kombinationsfeld in einem userform. Wenn ich das Formular ausführen, werden die Werte angezeigt wie vorgesehen. Wenn ich ein Modul sub-routine über einen command-button, die Werte werden nicht angezeigt und ich habe keine Ahnung, warum.

Ich werde fügen Sie den gesamten code und markieren Sie die beanstandeten snippet(s) unten:

Private Sub btnGetGAToken_Click()
'--------------------------------
'Obtain API Token from Google Analytics (GA), indicate to user that token has been obtained and populate Account combobox
'with a unique list of accounts, which will in turn populate the Profile combobox with the profiles associated with the chosen
'account
'--------------------------------

Dim txtEmailField As String
Dim txtPasswordField As String

'Values written to sheet for use in UDFToken and UDFGetGAAcctData array formulas
Range("FieldEmail").Value = Me.txtEmailField.Text
Range("FieldPassword").Value = Me.txtPasswordField.Text

Range("GAToken").Calculate

With Me.lblGATokenResponseField
    .Caption = Range("GAToken").Value
    .ForeColor = RGB(2, 80, 0)
End With

Call FindUniqueAccountNames

cboAccountNamesComboBox.RowSource = Sheet1.Range("ListUniqueAccountNames").Address

End Sub

Private Sub cboAccountNamesComboBox_Change()

'Value written to sheet for use in the 'ListProfileNames' dynamic, named range
Range("ChosenAccount").Value = Me.cboAccountNamesComboBox.Value

With Me.cboProfileNamesComboBox
    .Value = ""
    .RowSource = Sheets("CodeMetaData").Range("ListProfileNames").Address
End With

End Sub

Den dynamischen Bereich wurde erstellt mit dem name manager " und ist unter:

Benannten Bereich: "ListUniqueAccountNames" =OFFSET(CodeMetaData!$J$5,0,0,COUNTA(CodeMetaData!$J$5:$J$5000))

zur besseren übersicht, der code, den ich verwende, um es auszuführen ist unten:

cboAccountNamesComboBox.RowSource = Sheets("CodeMetaData").Range("ListUniqueAccountNames").Address

Die sub-routine aufrufen der userform ist hier:

Public Sub ShowReportSpecsForm()

Load frmReportSpecs
frmReportSpecs.Show

End Sub

Verzeihen Sie mir für die Buchung so viel code, aber ich bin mir nicht sicher, was es genau ist, dass ist der das problem verursacht - ich bin immer noch sehr viel ein rookie mit Formen.

Jede Hilfe wird sehr geschätzt. Danke.

  • beim Debuggen, haben Sie Sheets("CodeMetaData").Range("ListUniqueAccountNames").Address Werte ?
InformationsquelleAutor Kurt | 2011-07-23
Schreibe einen Kommentar