2013-10-04 67 views
0

所以我一直在搞一些VBA代碼,我試圖將邊界應用到三個單元格的範圍。當我使用內置於Excel的VBA記錄器記錄代碼時,我得到以下結果:VBA for Excel - 選擇返回「編譯錯誤:期望的函數或變量」

Range("A1").Select 
ActiveCell.Offset.Range("A1:A3").Select 
Selection.Borders(xlDiagonalDown).LineStyle = xlNone 
Selection.Borders(xlDiagonalUp).LineStyle = xlNone 
With Selection.Borders(xlEdgeLeft) 
    .LineStyle = xlContinuous 
    .ColorIndex = 0 
    .TintAndShade = 0 
    .Weight = xlThin 
End With 

與其他方面一樣。

我的問題是,一旦我嘗試再次運行代碼,它會在執行任何事情之前停止,突出顯示第一個選擇(以藍色活動文本方式,而不是黃色步驟),並打開一個消息框「編譯錯誤:預期的函數或變量」。我查看了我已經寫過的其他代碼段,他們現在也遇到了這個問題,我認爲他們昨天並沒有這樣做。

我試圖弄清楚,如果我昨天點擊了錯誤的按鈕,或者是因爲某些原因,我的代碼現在完全無法使用。

+0

我沒有得到任何錯誤。我可以看看你的excel文件嗎? –

回答

0

只是一個猜測,但如果你去工具>參考,是否有任何檢查,說「失蹤」?如果是這樣,請嘗試取消選中該參考。我不確定爲什麼,但是我在過去曾經遇到過一個缺失或丟失的引用,否則 - 正常的代碼行爲很古怪。

+0

我看了,它看起來並不像缺少任何東西。這就是說我只檢查了四個東西。我有Visual Basic for Applications,Microsoft Excel 15.0對象庫,OLE自動化和Microsoft Office 15.0對象庫。難道是不應該檢查的東西嗎? – user2848029

0

我看不出有什麼明顯的,但你可以從「錄」版本修改這個有點:

With Range("A1:A3") 
    .Borders(xlDiagonalDown).LineStyle = xlNone 
    .Borders(xlDiagonalUp).LineStyle = xlNone 
    With .Borders(xlEdgeLeft) 
     .LineStyle = xlContinuous 
     .ColorIndex = 0 
     .TintAndShade = 0 
     .Weight = xlThin 
    End With 
End With 
-1

由於高內存使用情況,我在Excel中打開過的東西;從那時起,內存使用率非常低(數百MB而不是GB)。我很確定關閉此功能與它有關。