我正在調整一個簡單的宏來復制包含在 EDD 檔案中的數字串列,這些數字格式為 General;我需要轉置它們并僅粘貼值。粘貼后,我需要通過選擇它們并執行第二個宏來將自定義格式應用于特定格式。問題是所有數字都粘貼有前導撇號,并且自定義格式對它們不起作用。(它適用于我手動輸入的作業表上的所有其他數字,并且在我手動輸入并洗掉撇號時有效。)
我無法將每個源選擇的“一般”格式更改為“數字”(我將使用過濾器來獲取這樣的串列數十次,所以我可以,但 VBA 的重點是不要這樣做!)
Sub Transpose_Values()
'
' Transpose_Values Macro
'
' Keyboard Shortcut: Ctrl Shift V
'
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
Selection.NumberFormat = 0#
End Sub
我嘗試了一堆 NumberFormat 的變體,但沒有任何效果。撇號保持不變。我該如何解決這個問題?我正在將“結果”翻轉到此表中,并且需要將任何具有自定義格式的“標志”應用于如下數字:


(請注意,突出顯示的“9.5”有一個撇號(來自轉置宏),并且不會像右上角的單元格那樣接受添加“J 標志”的鍵盤命令,我手動輸入了數字和鍵命令適用于)
更新:我嘗試在選擇的源資料中將格式更改為“數字”,以查看它是否有效,它仍然用撇號粘貼了所有單元格。有趣的是,除了第一個值。不管它是否有一個'<',它都會被正常粘貼,而其他的都有撇號,即使源資料已經設定為'Number'。
uj5u.com熱心網友回復:
在您要粘貼值的范圍內使用 Replace() 來查找撇號并將其??替換為空。你也可以做同樣的事情來洗掉“<”。
For Each cell In Range("YourRange")
cell.Value = Replace(cell.Value, "'", "")
Next cell
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/479530.html
下一篇:獲取查詢重繪期間傳輸的資料量
