Note: The other languages of the website are Google-translated. Back to English

Excelで負の数のみを許可するにはどうすればよいですか?

Excelで、負の数のみを入力できるようにするにはどうすればよいですか? この記事では、このタスクを解決するための便利で簡単なトリックをいくつか紹介します。

データ検証を使用してExcelで負の数のみを許可する

VBAコードを使用するExcelでは負の数のみを許可する


矢印青い右バブル データ検証を使用してExcelで負の数のみを許可する

通常、 データ検証 関数はあなたを助けることができます、次のようにしてください:

1。 負の数のみを入力できるようにするセルまたは列を選択し、[ 且つ > データ検証 > データ検証、スクリーンショットを参照してください:

docは負の1のみを許可します

2。 の中に データ検証 ダイアログボックス、下 設定 タブで、次のオプションを実行します。

(1.) 許可する セクションでは、選択 10進数 ドロップダウンリストから。

(2.) 且つ セクション、選択してください 以下 オプション;

(3.)最後に番号を入力します 0最大 テキストボックス。

docは負の2のみを許可します

3。 次に、をクリックします OK、そして現在、負の数と0のみを入力できます。正の数を入力すると、警告メッセージが表示されます。スクリーンショットを参照してください。

docは負の3のみを許可します


矢印青い右バブル VBAコードを使用するExcelでは負の数のみを許可する

これはVBAコードも役立ちます。次のコードを使用すると、正の数を入力すると、自動的に負の数に変換されます。次のようにしてください。

1。 負の数のみを許可するシートタブを右クリックして、 コードを表示 コンテキストメニューから、ポップアウトで アプリケーション向け Microsoft Visual Basic ウィンドウの場合は、次のコードをコピーして空白に貼り付けてください モジュール:

VBAコード:ワークシートでは負の数のみを許可します:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Const sRg As String = "A1:A1000"
    Dim xRg As Range
    On Error GoTo err_exit:
    Application.EnableEvents = False
    If Not Intersect(Target, Range(sRg)) Is Nothing Then
        For Each xRg In Target
            If Left(xRg.Value, 1) <> "-" Then
                xRg.Value = xRg.Value * -1
            End If
        Next xRg
    End If
err_exit:
    Application.EnableEvents = True
End Sub

docは負の4のみを許可します

注意:上記のコードでは、 A1:A1000 入力する負の数のみを入力するセルです。

2. 次に、このコードを保存して閉じ、ワークシートに戻ります。コードで指定したセルに正の数を入力すると、正の数が自動的に負の数に変換されます。


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (4)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
やあ! 素晴らしい記事。 1つの質問:一貫したセルのグループの代わりに、これをシートのさまざまな部分(A2:A6やA8:A1など)に適用したい場合、VBAソリューションでそれを行う方法はありますか? つまり、「A1000:AXNUMX」を複数のセルセットに置き換えるにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、GB、
このコードを複数の範囲に適用するには、次のコードを使用してください。

注:このコードを使用する場合は、最初に[シート]タブを右クリックし、コンテキストメニューから[コードの表示]をクリックしてから、次のコードをモジュールにコピーする必要があります。

プライベートサブワークシート_Change(ByValターゲットを範囲として)
'Updateby Extendoffice
Const sRg As String = "A1:A10、B1:B10、C1:C20"'範囲をコンマで区切ります
範囲としての薄暗いxRg
範囲としての薄暗いxSRg
エラーの場合GoToerr_exit:
Application.EnableEvents = False
xSRg = Range(sRg)を設定します
交差しない場合(ターゲット、xSRg)は何もありません
ターゲット内のxRgごとに
If Left(xRg.Value、1)<> "-" Then
xRg.Value = xRg.Value * -1
終了する場合
次のxRg
終了する場合
err_exit:
application.enablevents = true
End Subの

ぜひお試しください。お役に立てば幸いです。
このコメントは、サイトのモデレーターによって最小化されました
スーパー、ありがとう! 非常に役立ちます。
このコメントは、サイトのモデレーターによって最小化されました
このコードの自動フォーマットを通貨から会計に変更するにはどうすればよいですか?
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護