|
▼かみちゃん さん:
いろいろお気遣いありがとうございます。
まず下記コードでListBox1の表示が42行目までしか表示しないのですが
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Set ws = Workbooks("コード.xls").Sheets("Sheet1")
With Range("A1", Cells(Rows.Count, 3).End(xlUp))
Me.ListBox1.ColumnCount = .Columns.Count '★この辺だと思い
いろいろ試しましたが
結果は変わりませんでした
Me.ListBox1.ColumnWidths = "30 pt;50 pt;40 pt"
ws.Activate '★
Me.ListBox1.RowSource = .Address
ThisWorkbook.Activate '★
End With
End Sub
>>別々の起動サンプルが出されたものですから
>>別々起動がいいのかなと思いました ただダブルクリックで
>>起動させた場合起動しているとすればその都度MsgBoxで表示させても
>>うざいかなと思ったものでそういうお考えなのかなと考えました。
>
>それは、違います。
>まず、yasuさんご自身がコードを提示されていますし、いきなり、仕様どおり
>動くコードを提示しても、yasuさんご自身のためにならないと思いましたので
>それぞれのご質問用にあくまでSampleを提示させていただいています。
>
>まさか、動くコードを作って提示してくださいというわけではないですよね?
試行錯誤[46092]夜遅くまでやってみたのですが残念ながら・・・降参です。
ダメだったダメコード貼り付けておきます。
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
Dim MyDate As Date
Dim WB1 As Workbook
Dim WB2 As Workbook
Dim strFileName As String
If 1 < Target.Count Then Exit Sub
On Error Resume Next
If Not Intersect(Target, Range("S8:S107")) Is Nothing Then
Cancel = True
UserForm1.Show vbModeless
Else
UserForm1.Hide
End If
If 1 < Target.Count Then Exit Sub
On Error Resume Next
If Not Intersect(Target, Range("R8:R107")) Is Nothing Then
Cancel = True
Set WB1 = ThisWorkbook
strFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls")
If strFileName <> "False" Then
'画面遷移を抑止する
Application.ScreenUpdating = False
Set WB2 = Workbooks.Open(strFileName)
WB1.Activate
'画面遷移を再開する
Application.ScreenUpdating = True
End If
MsgBox "現在開いているファイルは" & vbCrLf & _
WB1.FullName & vbCrLf & _
WB2.FullName
WB2.Close '指定したファイルを閉じる
End If
UserForm3.Show vbModeless
Else
UserForm3.Hide
End If
ダイアログがでて"コード.xls"迄いきましたが
UserForm3はショーしません。
それから今回は以前のテキスト.txtから
コード.xlsに変えたのですがこれを表示させるために
UserForm3を前回同様に
ListBox1 ★これが42行目までしか表示しない
これは上のプロシージャ起動でなく単独で
Sub UserForm()
UserForm3.Show
End Sub
立ち上げで気がつきました。
次にテキストボックス1を1つ(検索値入力用)
同じく検索用コマンドボタン1つ(検索実行用)
同じくコンボボックス1を1つ(選択決定)→終了
作りました。
よく考えたら下記のPrivate Sub CommandButton1_Click()にあたる
コードが無くては検索できないなと思いました。単純に
コード.txt→コード.xlsに変えるだけではダメですよね!
Private Sub ComboBox1_Change()
ActiveCell.Value = Left(ComboBox1.Value, 6)
Unload Me
End Sub
Private Sub CommandButton1_Click()
Dim FName As String
FName = ThisWorkbook.Path + "C:\コード.txt"
Const cnsFILENAME = "C:\コード.txt"
Dim intFF As Integer
Dim strREC As String
Dim GYO As Long
intFF = FreeFile
Open cnsFILENAME For Input As #intFF
GYO = 1
Do Until EOF(intFF)
Line Input #intFF, strREC
If strREC Like "*" & Me.TextBox1.Value & "*" Then
UserForm2.ComboBox1.AddItem strREC
End If
Loop
End Sub
Private Sub CommandButton2_Click()
UserForm2.ComboBox1.Clear
End Sub
>MsgBoxがうっとしいと感じるのならば、消せばいいだけです。
>それこそ、あくまで確認用で、確認さえだきれば必要ではありません。
これも断念そこまでたどり着いていません
>>それができるのであれば(ダブルクリック起動)でMsgBoxなし
>>ただし初回は表示されたほうがいいかも 起動済みであれば
>>すぐにUserForm2.Show vbModelessをショーしたいのですが・・・
>
>[46092]のSampleコードは二重オープンを防ぐコードですので、そのコードを
>[46085]のコードのオープン部分に組み込めばできるようにしてあるつもりです
>が、どのようにしたらいいかわかりませんか?
かみちゃんさんごめんなさい断念!
>>出来ればダブルクリックでbookを開きたいでsuね
>
>あと一歩でできるのですが・・・
>修正点などの要点はすべて提示しています。
>あとは、どう組み込めばいいのかだと思います。
>
>あと一息がんばりましょう♪
私ももう少しと思っておりましたが
やはり基本がよく解らないので・・・(-_-;)
なんとか面倒見てくれませんか。
よろしくお願いします。
|
|