|
▼ichinose さん:
こんばんは。
ありがとうございます。すごく勉強になりました。
もうひとつ質問させてください。
会社名,東北で新規登録する場合、ラベルコントロールに自動番号?1036
(最終ID 1035な為)を表示する場合はどの様にしたらよいでしょうか?
> A B C D E
>1 会社名 個人ID 名前
>2 東北 1010
>3 東北 1011
>4 東北 1012
>5 東北 1013
>* *
>* *
>25 東北 1035 ← 会社の最終データのID取得
>26 水野 2010
>27 水野 2011
>28 水野 2012
>29 水野 2013
>
>会社名選択のコンボボックスコントロール(Combobox1)
>最終ID表示用ラベルコントロール(ラベル1)
>最終ID取得実行ボタン(Commandbutton1)を配置して下さい。
>
>では、コードです。
>Userform1のモジュールに
>'=================================================================
>Private Sub UserForm_Initialize()
> With Label1
> .Font.Size = 12
> .Caption = ""
> .TextAlign = fmTextAlignRight
> .SpecialEffect = fmSpecialEffectSunken
> .BackColor = &HFFFFFF
> End With
> With Worksheets("sheet1")
> Set rng1 = .Range("a1", .Cells(.Rows.Count, 1).End(xlUp))
> With rng1
> .AdvancedFilter xlFilterCopy, , Worksheets("sheet2").Range("a1"), True
> End With
> End With
> With Worksheets("sheet2")
> Set rng2 = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp))
> If rng2.Row > 1 Then
> With ComboBox1
> .List() = rng2.Value
> .Style = fmStyleDropDownList
> .ListIndex = 0
> End With
> .Cells.ClearContents
> End If
> End With
>End Sub
>'=================================================================
>Private Sub CommandButton1_Click()
> Dim rng As Range
> Dim r_ad As String
> With Worksheets("sheet1")
> Set rng = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp))
> If rng.Row > 1 Then
> r_ad = rng.Address(, , , True)
> rr = Evaluate("max(if(" & r_ad & "=""" & ComboBox1.Text & """,row(" & r_ad & ")))")
> Label1.Caption = .Cells(rr, 2).Value
> End If
> End With
>End Sub
>
>
>標準モジュールに
>
>'================================================
>Sub main()
> UserForm1.Show
>End Sub
>
>
>これでMainを実行してみて下さい。
>
>コンボボックスで選択後、ボタンをクリックして下さい。
>最終IDが表示されるはずなんですが・・・。
>
>あくまでも新規ブックに新たに上記を作成して(もちろん、データも)実行して下さいね!!
>後は、体裁の問題だと思います。
|
|