|
▼ひいろ さん:
>プロシージャみつけました。
>
>Sub dspName(retu As Integer)
>Dim temp1 As String
>Dim gyo As Integer
>
>gyo = 3
>UserForm1.Show(vbModeless)
>UserForm1.IstChoice.Clear
>
>With Worksheets("職員情報")
>Do Until(.Cells(gyo,retu).Value ="")
>If retu = 1 Then
>If .Cells(gyo,retu).value<>.Cells(gyo -1,retu).Value Then
>UserForm1.IstChoice.AddItem(.Cell(gyo,retu).Value)
>End If
>Elself retu = 2 Then
>tmp1 = Cells(ActiveCell.Row, ActiveCell.Column - 2)
>If tmp1 = .Cells(gyo, retu - 1) Then
>UserForm1.IstChoice.AddItem(.Cells(gyo,retu).Value)
>End If
>Elself retu = 4 Then
>tmp1 = .Cells(8,5)
>If tmp1 = .Cells(gyo, retu - 1) Then
>UserForm1.IstChoice.AddItem(.Cells(gyo,retu).Value)
>End If
>End If
>gyo = ryo + 1
>Loop
>End With
>End Sub
>
>となっていました。
>もう完全にキャパシティを越えてしまいました。
あの、提示のdspNameプロシージャは
コンパイルエラーで実行できませんが?
>Elself retu = 2 Then
は
ElseIf retu = 2 Then
のコピーミスですか??
その部分を直せば、原因は明白です。
> (1),(2),(4)はきちんと表示されるのですが,
コードをよ〜〜く読んでください。
If retu = 1 Then
ElseIf retu = 2 Then
ElseIf retu = 4 Then
と書いてあるだけですよ!(^^)
> それ以外がウィンドウは出てくるのですが
それは プロシージャの最初で
無条件で
> UserForm1.Show(vbModeless)
と表示しているからですよね
|
|