部件我有一個宏在MS Word 2013 VBA(不的Excel),該切換所選擇的文本的高亮顏色。代碼如下所示 這樣:循環通過非連續選擇的在MS Word中* * VBA
If Selection.Range.HighlightColorIndex = WhtColor Then Selection.Range.HighlightColorIndex = wdNoHighlight Else Selection.Range.HighlightColorIndex = WhtColor
,對於連續/連續選擇的偉大工程。但是,如果我在Word表格中選擇了4個不連續的行(比如5,12行, 15和19),則宏只會高亮顯示所選的最後一行。
如何獲得HighlightColorIndex應用到 一系列不相鄰的所有「零件」,或者,我怎麼通過不同的「零件」循環範圍的 並應用HighlightColorIndex每個部件?
回答
蒂姆·威廉斯指向的網頁(support.microsoft.com/en-us/kb/288424)給出了關於這是如何可能的線索。但是,該鏈接確實表明不能通過非連續選擇進行循環。
儘管如此,該鏈接還顯示的是字體格式可以爲設置爲非連續選擇,但不適用於範圍對象。
這裏是修改後的代碼確實工作爲一個非連續的選擇:
If Selection.Font.Shading.BackgroundPatternColor = WhtColor Then Selection.Font.Shading.BackgroundPatternColor = wdColorAutomatic Else Selection.Font.Shading.BackgroundPatternColor = WhtColor
該代碼將改變背景顏色來選擇的目標顏色(雖然我不得不改變從顏色代碼Wd常量WdColor常量)。
這種方法唯一的缺點是,我不知道一種方法來搜索文本的背景顏色已被更改,而您可以搜索突出顯示的文本。
無論如何,謝謝@Tim Williams的幫助鏈接。希望以上內容可以幫助其他人改變字體屬性,並且實際上不必循環選擇範圍的單獨部分。
好的發現@DRC在這裏使用它:https://stackoverflow.com/a/46106637/3451115(可悲的是,MS的鏈接現在已經死了) – SlowLearner
@SlowLearner - 在該帖子中巧妙運用這個主意。尼斯。 – DRC
- 1. vba循環在非連續範圍內
- 2. 用VBA在Word表格中選擇不連續的單元格
- 3. 如何在選擇中循環應用單詞的MS Word宏?
- 4. 從MS Word通過VB.NET選擇詞
- 5. 對於非連續範圍的循環
- 6. 通過循環選擇列
- 7. 通過循環連續輸入php
- 8. 循環訪問選定條件的非連續行
- 9. 如何用循環複製非連續的行[vba]?
- 10. Excel VBA:在循環中選擇一行
- 11. 通過MS SQL列循環
- 12. VBA - 嵌套「For Each」連續循環
- 13. Chrome中的非連續選擇?
- 14. Excel vba:從非連續範圍中選擇隨機單元格
- 15. 連續循環ADO VBA訪問2010
- 16. 通過範圍選擇下拉循環
- 17. 在java中連續循環
- 18. 連續ImageViews在循環中
- 19. 繼續通過ResourceNotFound循環?
- 20. Excel vba通過表循環
- 21. Qualtrics循環和非連續合併
- 22. MS Excel的VBA - 循環通過行和列
- 23. 循環通過小時vba
- 24. VBA在循環中過濾循環
- 25. Word VBA:通過循環修改單詞ActiveDocument.Words創建一個無限循環
- 26. 通過js數組連續循環暫停
- 27. MS Access VBA循環列表
- 28. VBA雙環連續和不連續
- 29. 如何從MS Word中通過VBA的命令按鈕
- 30. Matlab:選擇非連續的矩陣列
https://support.microsoft.com/en-us/kb/288424 - 不知道如何最新這是 –
這解決了這個問題。但是,考慮到代碼的實際目標是什麼,這個問題並不重複。由於@Tim Williams提供的鏈接中的信息,我已經使用該解決方案更新了上述問題。 – DRC
抱歉 - 我在發佈之前沒有完全閱讀鏈接的頁面。我重新打開你的問題,所以你現在應該能夠回答它... –