返回列表 上一主題 發帖

依對話框要求寫入資料

Sub 資料() 'K2
  Dim iRows%, iNum%, iI%
  Dim vData, vTimes
  
  iRows = [A65535].End(xlUp).Row
  iNum = 3
  
  vData = Application.InputBox("輸入數字", "請輸入資料", Range("AA1"), Type:=2)
  Do Until vData = 0 Or vData = "" Or iNum > iRows
    Range("AA1") = vData
    vTimes = Application.InputBox("輸入次數", "請輸入寫入資料的次數", Type:=2)
    If vTimes = 0 Or vTimes = "" Then
      Exit Sub
    Else
      For iI = 0 To vTimes - 1
        Cells(iNum + iI, 2) = vData
      Next
      iNum = iNum + iI
    End If
    If iNum <= iRows Then
      vData = Application.InputBox("輸入數字", "請輸入資料", Range("AA1"), Type:=2)
    End If
  Loop
End Sub

TOP

本帖最後由 luhpro 於 2011-5-26 23:08 編輯

回復 9# myleoyes
嗯...是的.
因為我習慣把程式結果產生在範例結果的旁邊以便比較是否有錯誤出現,
到發表的時候卻忘了把它改過來了,
這是我的疏忽造成你的不便敬請見諒.

"不過程式還是少了的超出A列資料無法刪除" 這句我看的不是很懂,
你範例檔中說到 "直記錄到A欄的最後一數據為止",
那不就應該是就以 A 欄的資料數量為產生數值的依據嗎?

如果是希望產生最後一筆資料後底下都一律清空的話,
可以在 Loop 底下增加一行 :
  Range(Cells(iRows + 1, 12), Cells(65536, 12)) = ""
即可.
(上面的那行也可順便變一下 : iRows = [A65536].End(xlUp).Row)

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題