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

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

Private Sub Worksheet_Change(ByVal Target As Range)

With Target     If Not .HasFormula Then         .Value = UCase(.Value)

End If End With 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             .Value = UCase(.Value)

End If     End With End If End Sub

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

注:

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

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

このヒント(2568)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。