Excel 使用AutoFill提示“類Range的AutoFill方法無效”


 

  今天遇到一個神奇的問題,之前一直使用很好的代碼突然報錯:“類Range的AutoFill方法無效”,在網上搜索了一番,感覺沒有一個與我遇到的情況相同的。debug,查看一下代碼,發現程序里,AutoFill前后指定的是相同的區域。不知道是不是因為這個原因,只能自己手動測試到底什么情況才會產生這個提示了。

 

  寫了一段測試代碼:

          Worksheet sheet = Helper.GetActiveSheet();

                Range b = sheet.Cells[1, 1];

                Range end = sheet.Cells[3, 1];

                Range a = sheet.Range[b, end];

                b.Value2 = 1;

                b.AutoFill(a, XlAutoFillType.xlFillSeries);

  上面的代碼可以執行成功。

 

  修改上面的測試代碼,看看什么情況會報出類似的錯誤。將最后一行修改為:  

                a.AutoFill(a, XlAutoFillType.xlFillSeries);

  這回代碼報錯了,和我遇到的情況類似,會不會是因為這個a區域包含的范圍太大了呢?那再試一下,將代碼修改為:

                b.AutoFill(b, XlAutoFillType.xlFillSeries);

  依然報錯。OK,可以確認了。Range1.AutoFill(Range2,*),Range2要包含Range1,兩個區域不能完全相同。

  

 

  附:AutoFill說明

摘自:http://www.feiesoft.com/vba/excel/xlmthautofill.htm

對指定區域中的單元格進行自動填充。Variant 類型。

expression.AutoFill(Destination, Type)

expression   必需。該表達式返回“應用於”列表中的對象之一。

Destination   Range對象類型,必需。要填充的單元格。目標區域必須包括源區域。

Type  XlAutoFillType 類型,必需。指定填充類型。

XlAutoFillType 可為以下 XlAutoFillType 常量之一。
xlFillDays
xlFillFormats
xlFillSeries
xlFillWeekdays
xlGrowthTrend
xlFillCopy
xlFillDefault default
xlFillMonths
xlFillValues
xlFillYears
xlLinearTrend
如果省略本參數或將本參數指定為 xlFillDefault,則 Microsoft Excel 將依據源區域選擇最適當的填充方式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM