返回列表 上一主題 發帖

[發問] 可否用表單方式來建立資料庫?

本帖最後由 luhpro 於 2011-4-28 00:27 編輯

嗯...
你已經可以自己建立起自定表單控制項了,
那麼就可以把 UserForm1.TextBox1.Text 等等與 Sheet 中的資料交互對應參照.

命令按鈕 只要 DoubleClick 就會自動建立 sub 把程式鍵進去即可,
執行時則只要點該按鈕就會跑相應的程式.

至於 Sheet 中上下一筆資料的取用方式建議用 Sheet(1).Cells(3,1) 的方式,
其中 Cells(3,1) 表示取用 列 3 欄 1 <即 Range("A3")> 的資料,
而藉由
With Sheet(1)
  .Cells(iRow, 1).value  ' 第一筆資料的姓名
  .Cells(iRow, 2).value  ' 第一筆資料的身份證字號
  .
  .
  .
End With
則只要更改 iRow 就可以取得每一筆資料的內容

TOP

回復 7# rph
[b65536].End(xlUp) : 從 Range("B65536") 儲存格開始往上找第一個有資料的儲存格, 亦即該欄資料區域的最底下一個.(即按 End 鍵找到的那個)
.Offset(1) : 向下移動一格, 等同 .Offset(1, 0)
.Resize(,3) : 向右擴充選取區域為包含該格共 3 個欄位的儲存格為標的, 等同 .Resize(0, 3)

要知道與儲存格有關的指令用途可以直接貼在即時運算視窗逐步於右邊加上 .Select 就可以看到效果了
例如 : 先打上 [b65536].End(xlUp).Select 看哪個儲存格被選取了,
中間加上 .Offset(1) 變成 [b65536].End(xlUp).Offset(1).Select 繼續觀察... 依此類推.

Range("A2:A" & Range("B65536").End(xlUp).Row).DataSeries
就是以數個(即 "A2:Ax" x=B欄最底一個有資料的儲存格的列編號<藉由 .Row 取得>)儲存格為標地建立資料數列

Range() 右方兩個括弧中間其實就是文字相接, 可以直接 Copy 貼到即時運算視窗再在左方加一個 ? 就可了解,
即 ? "A" & [a65536].End(xlUp).Row & ":A" & Range("B65536").End(xlUp).Row 就知道它是怎麼回事了.

請善用 Mark 命令文字後按 F1 鍵找說明.

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題