次のスレッドでSiddharth Routのコードを使用して、選択した列を大文字にしましたが、エラー '13'のミスマッチが発生しました。いくつかの範囲の数式。ここでExcel VBA - 式で列内の選択したすべてのセルを大文字にする
Excel VBA - Capitalizing all selected cells in column on double click
上記のリンクから非数式ベースの列データに働いていたコードは次のとおりです。
Sub ChangeToUpper()
Dim rng As Range
'~~> Check if what the user selected is a valid range
If TypeName(Selection) <> "Range" Then
MsgBox "Select a range first."
Exit Sub
End If
Set rng = Selection
rng = WorksheetFunction.Transpose(Split(UCase(Join(_
WorksheetFunction.Transpose(rng), vbBack)), vbBack))
End Sub
私は、フォーラムを検索し、これに関連する詳細を見つけることができませんでした。だから私はそれをgoogledとMr.Excelは、このコードを持っていたが、私はエラーメッセージのすべてが大文字であったことをクリアしたときにエラー '13'を与えた。このエラーを取り除く方法はありますか?ここで
はMr.Excelからのコードです:
Sub MyUpperCase()
Application.ScreenUpdating = False
Dim cell As Range
For Each cell In Range("$A$1:" & Range("$A$1").SpecialCells(xlLastCell).Address)
If Len(cell) > 0 Then cell = UCase(cell)
Next cell
Application.ScreenUpdating = True
End Sub
フォーミュラが必要ですか?数式を値に変換するコード行を追加するのが最も簡単な解決策ですか? – StevenWalker
私はこれを可能な修正と見ていきます。ありがとうございます。 –
使用範囲にアクセスし、すべてをコピーして特殊な値を貼り付けます。私は頭の上から正確な構文を覚えていませんし、携帯でも、あなたは簡単にグーグルの例を見つけるでしょう。あなたの数式をそのまま残すことができるので、投稿された他のソリューションが好ましいです – StevenWalker