過去ログ

                                Page     341
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼コンボボックスにて  いぬだわん 02/11/13(水) 14:20
   ┣Re:コンボボックスにて  yu-ji 02/11/13(水) 14:39
   ┗Re:コンボボックスにて  Jaka 02/11/13(水) 15:13
      ┣Re:コンボボックスにて  いぬだわん 02/11/13(水) 17:12
      ┗Re:コンボボックスにて  いぬだわん 02/11/14(木) 13:03

 ───────────────────────────────────────
 ■題名 : コンボボックスにて
 ■名前 : いぬだわん
 ■日付 : 02/11/13(水) 14:20
 -------------------------------------------------------------------------
   こんにちは。
質問です。

UserForm1にコンボボックス1〜3があります。
そして、Sheet1のA列に
1-111-1
1-111-2
1-111-3
1-111-4
1-111-5

という文字列があります。

コンボボックス1には最初の1桁、
コンボボックス2には"-"を除いた3桁、
コンボボックス3には"-"を除いた3桁

と分割させて表示させたいのですが、
こういうことってできますか?

わかる方がいらっしゃればご教授願います。
 ───────────────────────────────────────  ■題名 : Re:コンボボックスにて  ■名前 : yu-ji  ■日付 : 02/11/13(水) 14:39  -------------------------------------------------------------------------
   ▼いぬだわん さん:
>UserForm1にコンボボックス1〜3があります。
>そして、Sheet1のA列に
>1-111-1
>1-111-2
>1-111-3
>1-111-4
>1-111-5
>
>という文字列があります。
>
>コンボボックス1には最初の1桁、
>コンボボックス2には"-"を除いた3桁、
>コンボボックス3には"-"を除いた3桁
>
>と分割させて表示させたいのですが、

ん?
コンボボックス3には、-を除いた最後の1桁じゃなくて?

コンボボックス1−コンボボックス2−コンボボックス3

というように分けたいということではないのかな?

とりあえず、質問がよく分かりませんが、(たしか)Excel2000以上を
お使いであれば、Split関数が使えると思います。

的外れなら、すみません。
 ───────────────────────────────────────  ■題名 : Re:コンボボックスにて  ■名前 : Jaka  ■日付 : 02/11/13(水) 15:13  -------------------------------------------------------------------------
   ▼いぬだわん さん:
>こんにちは。
>質問です。
>
>UserForm1にコンボボックス1〜3があります。
>そして、Sheet1のA列に
>1-111-1
>1-111-2
>1-111-3
>1-111-4
>1-111-5
>
>という文字列があります。
>
>コンボボックス1には最初の1桁、
>コンボボックス2には"-"を除いた3桁、
>コンボボックス3には"-"を除いた3桁
>
>と分割させて表示させたいのですが、

こんにちは。
どう言う意味なのか良く解りません。
具体的な表示例なども、記載された方がわかりやすいと思います。

私のは、97ですのでSprit関数または、inStrでケツから調べる事が出来ません。
こんな感じにしてみました。(どのように表示したいのか、良く解ってませんが)

Private Sub UserForm_Initialize()
  Dim i As Long, SC As Integer
  ERow = Cells(Rows.Count, "A").End(xlUp).Row
  For i = 1 To ERow
    SC = 0
    Do Until InStr(SC + 1, Cells(i, "A").Value, "-") = 0
     SC = InStr(SC + 1, Cells(i, "A").Value, "-")
    Loop
    ComboBox1.AddItem Mid(Cells(i, "A").Value, SC + 1)
    ComboBox2.AddItem Right(Application.Substitute(Cells(i, "A").Value, "-", ""), 3)
    ComboBox3.AddItem Right(Application.Substitute(Cells(i, "A").Value, "-", ""), 3)
  Next
End Sub
 ───────────────────────────────────────  ■題名 : Re:コンボボックスにて  ■名前 : いぬだわん  ■日付 : 02/11/13(水) 17:12  -------------------------------------------------------------------------
   ▼Jaka さん,yu-jiさんこんばんは。

早速の回答ありがとうございます。

コンボボックス1には最初の1桁 1
コンボボックス2には次の3桁 111
コンボボックス3には次の1桁 1

を表示させるということです。
 ───────────────────────────────────────  ■題名 : Re:コンボボックスにて  ■名前 : いぬだわん  ■日付 : 02/11/14(木) 13:03  -------------------------------------------------------------------------
   ▼Jaka さん、yu-ji さん、こんにちは。

やりたいことができました。
いろいろアドバイスありがとうございました。

また、言葉不足だったことをお詫びします。

では。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 341