2016-04-23 33 views
0

コンボボックスから値を選択して別の方法を適用する方法は? 私はワークシート "家"に名前のリストを持っていて、範囲 "C"の各名前については、その名前の情報が画像に記載されているようにリンクされた単一のワークシートでした。コンボボックスで選択した値Excel VBA /ユーザーフォームで別のワークシートを開く

Excel sheet picture

Iやったコンボボックスと、私はコンボボックスからユーザー名を選択すると、Excelが行くと、そのページを開きます。必要なユーザ名情報を参照するいくつかのラベルを含むユーザーフォームユーザー名を入力してそこから情報を取得します。

Userform

また、私は「ホーム」ページから名前を選択すると問題に直面しています。私はこのコードを使用しました

cboUserList.List = wsHome.Range("c12", Range("c12").End(xlDown)).Value 

しかし、それはオブジェクト 'ワークシート'の方法 '範囲'を示しています。

これは、コマンドボタン「インポート」

Private Sub cmdImport_Click() 

cboUserList.List = wsHome.Range("c12", Range("c12").End(xlDown)).Value 

lstActivationDate.List = ActiveSheet.Range("h2", Range("h2").End(xlDown)).Value 

lstPaidDate.List = ActiveSheet.Range("c2", Range("c2").End(xlDown)).Value 

lblUserID.Caption = [f2] 

lblsubscType.Caption = ActiveSheet.Range("i2").End(xlDown).Value 

lblamount.Caption = ActiveSheet.Range("j2").End(xlDown).Value 

lblamountpaid.Caption = ActiveSheet.Range("d2").End(xlDown).Value 


lbldate.Caption = Format(Date, "dd-mmm-yyyy") 

lbldebts.Caption = Range("f5:f6").Item(1).Value 

lblNotes.Caption = [f13] 


End Sub 

答えて

0

ひとつのアイデアに動作するようにコードを取得するための私のコードです:あまりに秒の範囲にWSHOMEを追加します。 cboUserList.List = wsHome.Range("c12", wsHome.Range("c12").End(xlDown)).Value

ComboBoxを入力するには、cboUserList.AddItem(<String>)を使用してください。範囲をループして、すべての要素をComboBoxに取得します。あるいは、名前が入っている配列を.Listと一緒に使用してみてください。ユーザーのワークブックに切り替えるには

あなたユーザーフォームコードにコードのこの部分を使用する必要があります。cboUserList.List = wsHome.Range(「C12」のための

Private Sub cboUserList_Change() 
    Worksheets(Cstr(wsHome.Range("c12", wsHome.Range("c12").End(xlDown)).Find(cboUserList.Value, LookIn:=xlValues).Offset(0, 1).Value)).Activate 
End Sub 
+0

おかげFreakfeuerを、WSHOME ( "c12")End(xlDown))。値のコードは今では正常に動作しますが、コンボボックスで選択した値に関して、この値をワークシートがリンクされた状態で開くようにするにはどうすればいいですか? –

+0

私は私のアンカーを編集しました。私はあなたが探しているものは 'Worksheets(X).Activate'だと思います。 – freakfeuer

+0

あなたの編集コードを使用しました。 - ワークシート(wsHome.Range( "c12"、wsHome.Range( "c12")。End(xlDown))を見つけてください(cboUserList.Value、LookIn:= xlValues).Offset(0、 1).Value).Activate - > 'しかし、私はオフセット行を0から1に変更しました。オフセット(1,1)それはうまく動作しますが、C311にある最後のユーザー名を選択したときに別の問題に直面しましたランタイムエラー "9"の範囲の下付き文字を表示しています。 –

関連する問題