|
おはようございます。以前も同じ質問をしたのですが、答えが分からないまま色々試してはみたのですが、うまくいきません。
よろしくお願い致します。
sheet1上にコンボボックスがあり、50人の名前があります。名前はsheet(”データ”)のセルA1:A50に名前の一覧がありそこからひっぱってきています。
50人分の名前のsheetがあります。
sheet1上には他にtextbox、チェックボックス等複数あり、コンボボックスより名前を選択すると、その名前のsheetより情報をtextbox等に移しだします。
そして、名前の変更がある際、下記のコードの様にsheet1上にあるボタンをクリックし、userformを出します。userformにはコンボボックス、textbox、ボタンがあります。
userformのコンボボックスより名前を選択すると、textboxに名前が表示されます。textboxにて名前を変更し、ボタンをクリックすると、変更前の名前のsheet名が変わり、sheet(”データ”)の名前一覧の変更前の名前のセルが変更後の名前に切り替わります。
ここで、userform上のコンボボックスを外し、textboxとボタンだけにし、userformを出した際、sheet1上のコンボボックスに表示されている名前が直接userform上のtextboxに表示され、そこで名前を打ち変えて、ボタンをクリックすれば、先ほど書いた様に、sheet名と名前一覧が変更するようにするには下記のコードをどのようにいじればよいですか?
よろしくお願い致します。
Dim Co As Long
Dim Mys As String
Private Sub ComboBox1_Change()
Me.TextBox1.Value = Me.ComboBox1.Value
End Sub
Private Sub CommandButton1_Click()
Co = Me.ComboBox1.ListIndex
Sheets("データ").Cells(Co + 1, 1).Value = Me.TextBox1.Value
Mys = Me.ComboBox1.Value
Worksheets(Mys).Name = TextBox1
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Me.ComboBox1.List = Sheets("データ").Range("A1:A50").Value
End Sub
|
|