標題:
[發問]
請問各位大大!
[打印本頁]
作者:
koiiven
時間:
2011-9-7 17:14
標題:
請問各位大大!
j = InputBox("輸入數量", , 0)
Sheets("原始檔").Select
Range("B5 & ":D" & j + 4).Select
請問各位大大
小弟想將程式碼修改成
輸入不同數量後
程式碼能將所需要的欄位選擇起來
且選擇過的會從下一筆開始選擇
例如
假設原始檔從第5列開始有100列資料
一開始的InputBox輸入10 程式碼會抓B5到D14
下一個InputBox輸入7 程式碼則抓B15到D21
一直抓到原始檔的100列資料抓完
請問各位大大
小弟該如何修改?
感謝!
作者:
Hsieh
時間:
2011-9-7 18:41
回復
1#
koiiven
Sub nn()
Dim j&
Do Until s >= 100
j = InputBox("輸入數量", , 0)
Range("B5").Offset(s, 0).Resize(j, 3).Select
s = s + j
Loop
End Sub
複製代碼
作者:
koiiven
時間:
2011-9-9 15:15
執行OK
感謝大大幫忙
小弟想請問Range的問題
Sub Macro2()
Dim j&
Dim k&
k = InputBox("總數量", , 0)
Do Until s >= k
i = InputBox("輸入名稱", , 0)
j = InputBox("輸入數量", , 0)
Sheets("空白表格").Select
Sheets("空白表格").Copy After:=Sheets(2)
Sheets(3).Select
Sheets(3).Name = i
Sheets("原始檔").Select
Range("B5").Offset(s, 0).Resize(j, 3).Select
s = s + j
Selection.Copy
Sheets(3).Select
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("原始檔").Select
Range("H5").Offset(s, 0).Resize(j, 1).Select '會選擇H8到H10 該如何修改才能選擇H5到H7呢?
s = s + j
Selection.Copy
Sheets(3).Select
Range("F7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Loop
End Sub
複製代碼
假設j輸入3
程式會選擇(B5:D7)的範圍
但到了H5時
則直接從H8開始選擇
如果想一樣從H5開始選擇
請問該如何修改?
感謝大大
作者:
GBKEE
時間:
2011-9-9 15:23
回復
3#
koiiven
Range("H5").Offset(s, 0).Resize(j, 1).Select '會選擇H8到H10 該如何修改才能選擇H5到H7呢?
Range("H5").Resize(j, 1).Select 是這樣嗎?
作者:
Hsieh
時間:
2011-9-9 16:22
回復
3#
koiiven
我認為是在同一個s值要做兩欄位的選取,對嗎?
那s就要執行完兩次後再加上j
Sub Macro2()
Dim j&
Dim k&
k = InputBox("總數量", , 0)
Do Until s >= k
i = InputBox("輸入名稱", , 0)
j = InputBox("輸入數量", , 0)
Sheets("空白表格").Select
Sheets("空白表格").Copy After:=Sheets(2)
Sheets(3).Select
Sheets(3).Name = i
Sheets("原始檔").Select
Range("B5").Offset(s, 0).Resize(j, 3).Select
Selection.Copy
Sheets(3).Select
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("原始檔").Select
Range("H5").Offset(s, 0).Resize(j, 1).Select '會選擇H8到H10 該如何修改才能選擇H5到H7呢?
s = s + j
Selection.Copy
Sheets(3).Select
Range("F7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Loop
End Sub
複製代碼
作者:
koiiven
時間:
2011-9-13 11:03
原來如此
把s = s + j移到最後在執行
感謝兩位大大幫忙
作者:
koiiven
時間:
2011-9-13 13:38
小弟拜讀過這篇 [轉貼] VBA的寫作技巧與增進效能
將程式碼改成
Sub Macro2()
Dim j&
Dim k&
k = InputBox("元件總數量", , 0)
Do Until s >= k
i = InputBox("輸入報告名稱", , 0)
j = InputBox("輸入元件數量", , 0)
Sheets("空白表格").Select
Sheets("空白表格").Copy After:=Sheets(2)
Sheets(3).Select
Sheets(3).Name = i
Sheets(3).Range("C7") = Sheets("原始檔").Range("B5").Offset(s, 0).Resize(j, 3)
s = s + j
Loop
End Sub
複製代碼
可是程式運作完之後沒有反應
想請問大大該如何修改?
此外
Sub Macro3()
'
' Macro5 Macro
'
'
i = InputBox("年", , 0)
j = InputBox("月", , 0)
k =InputBox("日", , 0)
Range("A1").Select
ActiveCell.FormulaR1C1 = '
End Sub
複製代碼
想請問大大
如果想在 InputBox打入日期年月日
但只替換A1儲存格內XXX年XX月XX日內的X代號
等號後面的程式碼該如何撰寫?
感謝大大
作者:
GBKEE
時間:
2011-9-13 14:47
回復
7#
koiiven
ActiveCell= DateSerial( i, j, k)
作者:
koiiven
時間:
2011-9-13 15:28
感謝大大回覆
執行之後為西元的年份
且格式為xxxx/xx/xx
有辦法將年分設定為民國
且格式為xxx年xx月xx日
以
i = InputBox("年", , 0)
j = InputBox("月", , 0)
k = InputBox("日", , 0)
即可替換x內的數值
感謝
作者:
GBKEE
時間:
2011-9-13 16:08
回復
9#
koiiven
With ActiveCell
.Value = DateSerial(i, j, k)
.NumberFormatLocal = "[$-404]e""年""m""月""d""日"";@"
End With
複製代碼
作者:
koiiven
時間:
2011-9-19 11:08
感謝大大回答
小弟測試後
一直出現同一個日期 88年11月30日
小弟再請問一下
如果不只限定日期
假設是名稱
即在Inputbox內輸入的文字
能修改在Cell內"部分"的文字
並非全部修改
感謝大大
作者:
GBKEE
時間:
2011-9-19 11:39
回復
11#
koiiven
傳上程式碼看看
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)