Board logo

標題: [發問] 為何無法這樣寫 [打印本頁]

作者: bobomi    時間: 2014-8-11 12:09     標題: 為何無法這樣寫

為何無法寫成 Columns( , 3 ).delete

參數提示明明提示為 Columns( [rowindex].[colindex] )

卻無法寫成  Columns( , 3 ).delete
作者: GBKEE    時間: 2014-8-11 14:00

回復 1# bobomi
  1. 參數提示明明提示為 Columns( [rowindex].[colindex] )
複製代碼
這是哪一版的說明,可否上傳完整的說明看看了解一下
作者: bobomi    時間: 2014-8-11 15:49

回復  bobomi 這是哪一版的說明,可否上傳完整的說明看看了解一下
GBKEE 發表於 2014-8-11 14:00



    office 2000

http://imgur.com/X7lX6Xg
作者: GBKEE    時間: 2014-8-11 16:08

回復 3# bobomi

[attach]18884[/attach]

如圖也有,這應是vba 列出物件成員上編譯的錯誤 .
作者: luhpro    時間: 2014-8-16 08:31

回復 1# bobomi
應該是要用 :
                              Columns( 3 ).delete
的格式才是正確的.
(我猜它是直接拿 range 的格式來套用才發生這樣的烏龍, Columns 與 Rows 沒有第二個參數, 多列<欄>的表示方式是 ("1:5")  , 括號中間要用字串的形式才會接受)

===== 以下是 Office 2000 的說明  =====
參照列和欄
請參閱特定可用 Rows 屬性或 Columns 屬性處理整列或整欄。這兩個屬性傳回代表儲存格範圍的 Range 物件。以下範例中,用 Rows(1) 傳回工作表 Sheet1 上的第一列,然後將 Font 物件的 Bold 屬性設定為 True。
Sub RowBold()
    Worksheets("Sheet1").Rows(1).Font.Bold = True
End Sub
下列表格表示使用 Rows 屬性和 Columns 屬性的一些列和欄參照。
   參照                           意義
Rows(1)                      第一列
Rows                 工作表上所有的列
Columns(1)               第一欄
Columns("A")           第一欄
Columns            工作表上所有的欄
如果要同時處理若干列或欄,可先建立一個物件變數,然後用 Union 方法把對 Rows 屬性或 Columns 屬性的多個呼叫組合起來。下列範例將使用中活頁簿中第一張工作表上的第一列、第三列和第五列的字型設定為粗體。
Sub SeveralRows()
    Worksheets("Sheet1").Activate
    Dim myUnion As Range
    Set myUnion = Union(Rows(1), Rows(3), Rows(5))
    myUnion.Font.Bold = True
End Sub
===== 以上是 Office 2000 的說明  =====

其實類似的烏龍還有很多,
例如它對  Dictionary  用法的舉例:

下面的程式碼舉例說明了如何建立一個 Dictionary 物件:
Dim d                   '建立一個變數
Set d = CreateObject(Scripting.Dictionary)
d.Add "a", "Athens"     '加入一些關鍵字和項目
d.Add "b", "Belgrade"d.Add "c", "Cairo"
...

到了 Office 2003 還是一樣錯誤的舉例(更後面的版本有沒有修正我就不清楚了).

剛開始還是新手學 Excel VBA 時,
那行 Set d = CreateObject(Scripting.Dictionary)
應該要寫成 Set d = CreateObject("Scripting.Dictionary")
就只是少了兩個雙引號,
足足浪費了我一個小時的時間找問題點.
作者: bobomi    時間: 2014-8-20 08:15

回復 5# luhpro


剛剛測試一下 excel 2010 發現還是沒改正

全世界巨大的使用人數

都沒人反饋給 MS 嗎? 不太可能

MS 就是不改喔




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)