0
時々、フィルタリングされた範囲の選択に対して式を実行し、値を変換する必要があります。copy
と入力し、次にspecial paste values
にする必要があります。 。私はmacro
フィルタをクリアせずに値に数式を変換する必要があります、私はまた、この操作のショートカットキーを使用したいと思います。VBAをフィルタリングされた範囲の値に変換する
時々、フィルタリングされた範囲の選択に対して式を実行し、値を変換する必要があります。copy
と入力し、次にspecial paste values
にする必要があります。 。私はmacro
フィルタをクリアせずに値に数式を変換する必要があります、私はまた、この操作のショートカットキーを使用したいと思います。VBAをフィルタリングされた範囲の値に変換する
以下のコードはこの操作を許可します。この操作では、CTRL + Mショートカットを使用できます。このショートカットキーを割り当てるには、マクロを編集します。
Sub PasteFilterValues()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
If Selection.Cells.Count = 1 Then
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Else
Dim rng As Range
Set rng = Selection.SpecialCells(xlCellTypeVisible)
For Each cl In rng
cl.Copy
cl.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next cl
rng.Select
End If
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.CutCopyMode = False
End Sub
なぜ値をコピーして貼り付けますか?確かに 'cl = cl.value'を設定する方が良いでしょうか? –