Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


35831 / 76738 ←次へ | 前へ→

【46098】Re:ユーザーフォームのリストを検索→転記
発言  yasu  - 07/1/22(月) 21:48 -

引用なし
パスワード
   ▼かみちゃん さん:

>まとめて、こちらにコメントさせていただきます。

>>>> 他のbookの場合開いていないとそのbookのデータは読み込めないのですか。
>>>
>>>基本的には、読めないと考えてください。
>>>GetObject関数などで、できないことはないのですが、裏技みたいなことはで
>>>きるのですが、まずは基本をしっかり知っていただくことが必要ではないかと
>>>思います。
>>>なお、画面遷移を制御することにより、開いているのを見せないようにするこ
>>>とは可能です。
>>↑これいいですね 教授ください。見えないということは
>>閉じるときどうするんでしょ・・・
>
>画面遷移を制御することにより、開いているのを見えないようにするだけです
>ので、実際には、開いています。
>開いているので閉じることもできます。
>以下のコードを試してみてください。
>
>Sub Sample3()
> Dim WB1 As Workbook
> Dim WB2 As Workbook
> Dim strFileName As String
> 
> 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 Sub

ありがとうございます。
これは今回特定のセルクリックと組み合わせない方が
よいのですね?
>
>>ただ違うのはかみちゃんさんの言うListBox1に読込をしているところだけです
>>ListBox1にテキスト.txtを読まない場合はコードがかわるのですか。
>
>私の言うListBox1とは何でしょうか?
>私は、ずっとListBox1を使う必要はないと申し上げてきています。
>テキスト.txt全体を反映させるListBox1の存在の必要性もわかりませんし、
>TestBox1に入力した検索値を条件として部分一致した値を反映させた、
>ListBox2については、複数選択することはないということですので、
>ComboBoxをお勧めしています。
>そして、ComboBoxに値をAddする方法は、[46086]で提示しています。
>これをテキスト.txtから条件の部分一致を反映させるのであれば、
>If strREC Like "*" & Me.TextBox1.Value & "*" Then
> Me.ComboBox1.AddItem strREC
>End If

説明がへたですね
上記のようにListBox1は表示する必要なしですね!了解
ComboBox1をユーザーフォームに配置しました。
クリックミスがなくなります。

>でできます。
>全角・半角、大文字・小文字を統一させるなら、このIf文で
>StrConv関数で変換させて比較すればいいのです。
>
>>わかりました今回は元データの半角カタカナを全角に変更して
>>利用することのします。
>
>その必要はないのですが・・・
>統一処理をするプログラム(StrConv関数で変換して比較する方法)を理解
>すればいいと思います。
この関数も難しそうで、今回の検索では組込難しいということですか?

>それがわからないなら、全角・半角、大文字・小文字を区別して検索条件を
>指定するか、元データを修正するしかありません。
>元データを修正することは、私も好ましくないと考えていますから、条件
>指定を区別したらいかがですか?とコメントさせていただきました。
>
>>ダイアログは開いたのですが既にbookが開いている状態では
>>開く必要ありませんので
>
>ファイルを開くときにすでに開いているブックをチェックして、開いていない
>場合のみ、開く方法は、以下のような感じでできます。
>
>Sub Sample4()
> Dim WB1 As Workbook
> Dim WB2 As Workbook
> Dim strFileName As String
> 
> Set WB1 = ThisWorkbook
> strFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls")
> If strFileName <> "False" Then
>  Application.ScreenUpdating = False
>  'すでに開いているかどうかをチェックする
>  If Not ChkWorkbook(Mid(strFileName, InStrRev(strFileName, "\") + 1)) Then
>   MsgBox strFileName & vbCrLf & "を開きます"
>   Set WB2 = Workbooks.Open(strFileName)
>  Else
>   Set WB2 = Workbooks(Mid(strFileName, InStrRev(strFileName, "\") + 1))
>  End If
>  WB1.Activate
>  Application.ScreenUpdating = True
> End If
> MsgBox "現在開いているファイルは" & vbCrLf & _
>     WB1.FullName & vbCrLf & _
>     WB2.FullName
>End Sub
>
>Function ChkWorkbook(strWorkbookName As String) As Boolean
> Dim wb As Workbook
> 
> ChkWorkbook = False
> For Each wb In Workbooks
>  If wb.Name = strWorkbookName Then
>   ChkWorkbook = True
>   Exit For
>  End If
> Next
>End Function
了解です。
用は特定セルクリックでなく単独の起動をしたほうがbestとですね。
0 hits

【46028】ユーザーフォームのリストを検索→転記 yasu 07/1/21(日) 17:02 質問
【46030】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/21(日) 17:15 発言
【46031】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/21(日) 17:33 発言
【46037】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/21(日) 18:43 発言
【46039】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/21(日) 20:29 発言
【46043】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/21(日) 20:46 発言
【46051】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/21(日) 22:51 発言
【46052】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/21(日) 23:12 発言
【46057】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/21(日) 23:32 発言
【46058】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 0:09 発言
【46060】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 0:21 発言
【46061】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 7:15 発言
【46063】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 10:21 発言
【46064】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 11:35 発言
【46067】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 12:18 発言
【46070】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 13:01 発言
【46071】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 13:09 発言
【46066】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 12:04 発言
【46084】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 17:25 発言
【46085】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 18:06 発言
【46087】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 18:12 発言
【46088】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 18:23 発言
【46086】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 18:07 発言
【46090】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 18:45 発言
【46092】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 20:48 発言
【46098】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 21:48 発言
【46099】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 22:07 発言
【46100】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/22(月) 22:44 発言
【46101】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/22(月) 22:55 発言
【46106】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/23(火) 2:51 発言
【46107】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/23(火) 3:03 発言
【46109】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/23(火) 7:33 発言
【46114】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/23(火) 9:28 発言
【46117】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/23(火) 11:09 回答
【46120】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/23(火) 14:09 発言
【46121】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/23(火) 14:42 発言
【46122】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/23(火) 15:09 発言
【46124】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/23(火) 16:51 回答
【46129】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/23(火) 17:33 発言
【46133】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/23(火) 20:22 発言
【46134】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/23(火) 20:40 発言
【46139】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/24(水) 3:58 発言
【46140】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/24(水) 7:28 発言
【46157】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/24(水) 20:44 発言
【46159】Re:ユーザーフォームのリストを検索→転記 かみちゃん 07/1/24(水) 20:51 発言
【46168】Re:ユーザーフォームのリストを検索→転記 yasu 07/1/25(木) 0:22 お礼

35831 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free