• 2

請問 vba range("... : ...") 方面的問題

dim i as integer
i=10
Selection.AutoFill Destination:=Range("C6:C&i"), Type:=xlFillDefault

"C&i " or "Ci" 這樣寫,都會出現錯誤,請問要如何呈現此 range?

謝謝!
2019-09-07 11:46 發佈
Sub TEXT()
Range("C6").Select
Dim i As Integer
i = 10
Selection.AutoFill Destination:=Range("C6:C" & i)
End Sub
錦色如月,子耀光芒。
smash15 wrote:
dim i as integeri...(恕刪)


你要去了解一下用 " " 裡面會代表什麼
了解後你就會知道樓上怎麼會這樣寫
不要只是會照抄就好
錦子 wrote:
Sub TEXT()Range...(恕刪)


This is exactly what I need!

You are an expert for VBA.

另外有個問題想請教:

假設 Range("A5:A10") ,裡面分別有六個名詞,
然後,有十張不同名稱的工作表。
想用複製方式分別讓十張工作表的六個名詞內容配置都一樣,
怎麼寫比較好?

array? for ... next statement? or other methods?

Thanks for your help!
smash15 wrote:
This is exactly...(恕刪)


Sub TEXT()
Range("A5:A10").Select
Selection.Copy
Sheets(Array("工作表2", "工作表3", "工作表4", "工作表5", "工作表6", "工作表7", "工作表8", "工作表9", "工作表10", "工作表11")).Select
Sheets("工作表2").Activate
Range("A5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("工作表1").Select
End Sub
錦色如月,子耀光芒。
錦子 wrote:
Sub TEXT()...(恕刪)


It's excellent!

還有疑惑待解:

Public 變數需怎麼用, 才能在某一自訂表單發生作用?
exp.:

dim wks_A as worksheet
set wks_A = worksheets("sheet1")

假如放在 Private ,只有個別的 Sub ..() 能用

Optional Explicit ?

initialize?
---------------------------------------------------------------------------
請問有在學校教課嗎?

Thank you again! Many thanks!
錦子 wrote:
Sub TEXT()...(恕刪)


五樓的延伸討論:

'C5:C12有八個名詞
----------------------------------------------------------------------------------
---------------------------( )
Worksheets("sheet1").Select
Range("C5:C12").Select
Selection.Copy
Dim rng1, rng2, rng3, rng4, rng5, rng6 As Range
rng1 = Worksheets("sheet1").[A5].Value
rng2 = Worksheets("sheet1").[A6].Value
rng3 = Worksheets("sheet1").[A7].Value
rng4 = Worksheets("sheet1").[A8].Value
rng5 = Worksheets("sheet1").[A9].Value
rng6 = Worksheets("sheet1").[A10].Value

Sheets(Array("rng1", "rng2", "rng3", "rng4", "rng5", "rng6")).Select
Sheets("rng1").Activate
Range("E5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("sheet1").Select
---------------------( )
=============================================================
自問自答: 已找到問題點!

Thanks!
Selection.AutoFill Destination:=Range("C6:C" & i), Type:=xlFillDefault
改寫一下7樓這段程式碼...
直接用給值的方式會比複製貼上快

C = [C5:C12]
For Each i In C
Sheets(i).[E5:E12] = C
Next
f10629 wrote:
改寫一下7樓這段程式...(恕刪)


哇! 程式更簡潔! Very good!

Thank you for providing these codes of the program!
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?