返回列表 上一主題 發帖

[發問] 輸入編號跑出資料

[發問] 輸入編號跑出資料

本帖最後由 gn00487767 於 2014-2-12 16:12 編輯

煩請大大教學


如何添加指令

輸入編號跑出資料.rar (12.59 KB)

回復 1# gn00487767
試試看
  1. Option Explicit
  2. Option Base 1
  3. Private Sub CommandButton1_Click()
  4.     Ex
  5. End Sub
  6. Private Sub TextBox1_Change()
  7.     Ex
  8. End Sub
  9. Private Sub Ex()
  10.     Dim Rng As Range, Ar, i As Integer
  11.     Ar = Array([C3], [G3], [C5], [G5], [C7], [C9])
  12.     Set Rng = Sheets("資料表").Range("A:A").Find(WHAT:=TextBox1, LOOKAT:=xlWhole)
  13.     For i = 1 To UBound(Ar)
  14.         If Not Rng Is Nothing Then
  15.             Ar(i).Value = Rng.Offset(, i)
  16.         Else
  17.             Ar(i).Value = ""
  18.         End If
  19.     Next
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 1# gn00487767
TextBox1有使用需求嗎? 拿掉會清爽一點。
資料龐大可以參考下面,只用match找一次。
  1. Private Sub CommandButton1_Click()
  2.   Dim lRow As Long, sID As String
  3.   
  4.   sID = Sheets("表格").[E1].Value
  5.   If sID <> "" Then
  6.     With Sheets("資料表")
  7.       On Error Resume Next  '忽略找不到時的 Error
  8.       lRow = Application.Match(sID, .Range(.[A1], .[A1].End(xlDown)), 0)
  9.       On Error GoTo 0 '還原
  10.     End With
  11.    
  12.     If lRow > 0 Then
  13.       ar = Application.Transpose(Application.Transpose(Sheets("資料表").Cells(lRow, "B").Resize(, 6).Value))
  14.       With Sheets("表格")
  15.         .[C3].Value = ar(1)
  16.         .[G3].Value = ar(2)
  17.         .[C5].Value = ar(3)
  18.         .[G5].Value = ar(4)
  19.         .[C7].Value = ar(5)
  20.         .[C9].Value = ar(6)
  21.       End With
  22.     End If
  23.   End If
  24. End Sub
複製代碼

TOP

回復 2# GBKEE

感謝超級版主的教學
你的方法符合小弟的需求
只是小弟不太能理解,因為分的好散
多出那些EX是什麼意思
因為小弟是完全不懂慢慢研究的

TOP

回復 4# gn00487767
  1. Private Sub CommandButton1_Click()
  2.             Ex  '執行這程式 = Call Ex   
  3.             End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# stillfish00

感謝stillfish00大大的指導
TextBox1是可以拿掉,
因為小弟之前剛學習時,很多連結都弄在TextBox1,所以才加上去的
再請問
ar = Application.Transpose(Application.Transpose(Sheets("資料表").Cells(lRow, "B").Resize(, 6).Value))
裡面的"B"是代表B欄嗎
裡面的 6 是代表 B欄之後的6欄嗎?
因為小弟真的是由完全不懂自行亂湊出來的

TOP

回復 5# GBKEE

再請問大大,那這2個呢
01.Option Explicit
02.Option Base 1
小弟試過拿掉他們
但執行後位置都亂了

TOP

回復 7# gn00487767
vba視窗,有一說明指令,輸入 Option Explicit 有說明
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# gn00487767
裡面的"B"是代表B欄嗎
裡面的 6 是代表 B欄之後的6欄嗎?

是的

TOP

回復 3# stillfish00

再次請教 stillfish00 大大
若整欄資料的話小弟又該怎麼做呢?
如附件

輸入編號跑出資料2.rar (10.61 KB)

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題