他の人が使用するワークシートを開発している場合は、常に大文字で情報を入力することをお勧めします。 Excelには、情報を大文字に変換できるワークシート関数が用意されていますが、実際に情報を入力しているため、適用されません。たとえば、誰かがセルB6に情報を入力した場合、ワークシート関数を使用してB6の情報を大文字に変換することはできません。

代わりに、マクロを使用して変更を行う必要があります。 VBAでプログラミングする場合、ワークシートセルで何かが変更されるたびに、Excelに特定のマクロを実行させることができます。次のマクロを使用して、すべてのワークシート入力を大文字に変換できます。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.HasFormula Then Exit Sub         Application.EnableEvents = False         Target = UCase(Target.Cells(1))

Application.EnableEvents = True End Sub

ただし、マクロを機能させるには、特定の場所に入力する必要があります。

次の手順に従ってマクロを配置します:

。 Alt + F11を押して、VBAエディターを表示します。

。 [プロジェクト]ウィンドウのエディターの左側で、使用しているワークシートの名前をダブルクリックします。 (最初にVBAProjectフォルダーを開き、次にその下のMicrosoft Excelオブジェクトフォルダーを開く必要がある場合があります。)

。ワークシートのコードウィンドウで、上記のマクロを貼り付けます。

。 VBAエディターを閉じます。

これで、ワークシートの任意のセルに入力されたもの(数式を除く)はすべて自動的に大文字に変換されます。すべてを変換するのではなく、ワークシートの特定の領域のセルのみを変換する場合は、マクロを少し変更できます。

Private Sub Worksheet_Change(ByVal Target As Range)

If Not (Application.Intersect(Target, Range("A1:B10")) _       Is Nothing) Then         With Target             If Not .HasFormula Then                 Application.EnableEvents = False                 .Value = UCase(.Value)

Application.EnableEvents = True             End If         End With     End If End Sub

この特定の例では、セルA1:B10に入力されたテキストのみが変換されます。他のすべては入力されたままになります。別の範囲を変換する必要がある場合は、マクロの2行目にその範囲を指定します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9813)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Forcing_Input_to_Uppercase [入力を大文字に強制する]