Board logo

標題: [發問] 滑鼠左鍵被鎖不能選listbox2 listbox3 [打印本頁]

作者: user999    時間: 2015-6-2 17:53     標題: 滑鼠左鍵被鎖不能選listbox2 listbox3

請教在listbox1 用 enter 輸數量後 可用 滑鼠直接選listbox2 listbox3 任一item
但 在listbox1 用 滑鼠按確定數量後  滑鼠左鍵被鎖不能選listbox2 listbox3  只能在listbox1作業
如附件
請問問題出在哪
請幫忙一下謝謝!
作者: user999    時間: 2015-6-2 17:56

[attach]21084[/attach]
作者: bobomi    時間: 2015-6-3 08:41

奇怪的問題
感覺失焦後回不了焦
解法

步驟1
Application.InputBox  (  Left:= ??, Top:= ?? )  
帶入 Left , Top 使 InputBox  覆蓋到 ListBox1  
Left ,  Top 的取得可由    ListBox1 _MouseDown 事件取得轉換

步驟2
Application.InputBox  呼叫完畢後, 要再加上1句 AppActivate UserForm1.Name
作者: bobomi    時間: 2015-6-3 08:47

解法2

自己用 TextBox , 按鈕 組成自己的  InputBox
應該就不會有這問題
作者: user999    時間: 2015-6-3 14:20

回復 4# bobomi

謝謝
解一 弄不出
解二 run 3次後就開始卡了
作者: GBKEE    時間: 2015-6-3 15:42

本帖最後由 GBKEE 於 2015-6-3 15:44 編輯

回復 5# user999
listbox1 用 滑鼠按確定數量後  滑鼠左鍵被鎖不能選listbox2 listbox3  只能在listbox1作業

在表單(不含表頭)的任一位置,按下滑鼠右鍵一次回到表單.
listbox2 listbox3,滑鼠左鍵被鎖可解除.

建議修改你的程式碼
  1. Dim Sh As Worksheet, vntData1(), vntData2(), vntData3(), n1 As Integer, n2 As Integer, n3 As Integer
  2. '模組頂端的 Dim 變數 Sh, vntData1(), vntData2()......
  3. '為這模組中所有程式可呼叫的模組私用變數
  4. Private Sub UserForm_Activate()
  5.     '**********************************手術單一
  6.     Set Sh = Sheets("手術材料明細表1")
  7.     'Sh變數指定到(工作表)物件 這模組中所有程式可呼叫 Sh變數
  8.     Frame1.Caption = "批 價 碼     " & "  材  料  項  目  " & "                  規格  " & " 數  量"
  9.     ListBox1.ColumnCount = 4
  10.     ListBox1.ColumnWidths = "50,130,30,10"
  11.     陣列設置1
  12.     Frame2.Caption = "批 價 碼     " & "  材  料  項  目  " & "                  規格  " & " 數  量"
  13.     ListBox2.ColumnCount = 4
  14.     ListBox2.ColumnWidths = "50,130,30,10"
  15.     陣列設置2
  16.     Frame3.Caption = "批 價 碼     " & "  材  料  項  目  " & "                  規格  " & " 數  量"
  17.     ListBox3.ColumnCount = 4
  18.     ListBox3.ColumnWidths = "50,130,30,10"
  19.     陣列設置3
  20.     '**********************************
  21. End Sub
  22. Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  23.     Dim i As Integer
  24.     i = ListBox1.ListIndex
  25.     OpKeyA1
  26.     If ccc = "D" Then
  27.         Dim c0 As Integer
  28.         c0 = UBound(vntData1)
  29.         c0 = c0 + 2
  30.         With Sh  '這裡可以呼叫它
  31.             .Cells(c0, 3).Value = ListBox1.List(i1, 0)
  32.             .Cells(c0, 4).Value = ListBox1.List(i1, 1)
  33.             .Cells(c0, 5).Value = "D"
  34.             .Cells(c0, 1).Value = .Cells(c0 - 1, 1).Value
  35.             .Cells(c0, 2).Value = .Cells(c0 - 1, 2).Value
  36.         End With
  37.         陣列設置1
  38.     End If
  39.     ListBox1.ListIndex = i
  40. End Sub
複製代碼

作者: bobomi    時間: 2015-6-4 00:27

本帖最後由 bobomi 於 2015-6-4 00:29 編輯
回復  user999
listbox1 用 滑鼠按確定數量後  滑鼠左鍵被鎖不能選listbox2 listbox3  只能在listbox1作業 ...
GBKEE 發表於 2015-6-3 15:42


按滑鼠右鍵解鎖
這方法簡單太多了
我們就用 GBKEE 版主的方法來結案 ^^

[attach]21098[/attach]
作者: user999    時間: 2015-6-4 11:58

謝謝大家
感恩在心




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)