返回列表 上一主題 發帖

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

回復 1# gn00487767

一定要用vba嗎?單看圖, 用函數應該也可
ss

TOP

回復 11# sunnyso


是的 sunnyso 大大
因為小弟就是都用函數 導致 檔案變的超大
所以才想說 能夠改成VBA的地方盡量改
不然開啟檔案很難開啟

TOP

回復 12# gn00487767
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer, Ar(), m As Variant
  4.     With Sheets("自動顯示")
  5.         ReDim Ar(2 To .Range("A1").End(xlDown).Row, 1 To 3) '指定二維陣列元素的下限索引值,上限索引值
  6.         For i = 2 To .Range("A1").End(xlDown).Row
  7.             m = Application.Match(.Range("A" & i), Sheets("資料表").Range("A:A"), 0)
  8.             '應用工作表函數搜尋編號
  9.             If IsNumeric(m) Then
  10.                 With Sheets("資料表").Range("A" & m)
  11.                     Ar(i, 1) = .Range("B1")     '名稱欄
  12.                     Ar(i, 2) = .Range("C1")     '日期欄
  13.                     Ar(i, 3) = .Range("D1")     '姓名欄
  14.                 End With
  15.             End If
  16.         Next
  17.         .[B2].Resize(UBound(Ar) - 1, UBound(Ar, 2)) = Ar
  18.     End With
  19. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 13# GBKEE

感謝大大不厭其煩的位小弟解答
但此代碼  日期的地方顯示一樣是顛倒的@@
小弟發現了另一個方式了
就是把我原有的函數全部套用 您再另一個主題給小弟的代碼
    With Sheets("XX").[X?:X?]
        .Cells = "   原有函數(只是原有的"X"要變成" "X" ")   "   
        .Cells = .Value '公式轉成值
    End With
這樣的方式就不用變動原本的函數而達到小弟的需求了^^
在此致上萬分的謝意^^

TOP

回復 14# gn00487767


   
日期的地方顯示一樣是顛倒的@@
請在工作表上手動改回原是其格式,再執行程式看看
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題