[[20150417225041]] 『C行に1と入力したら 有 0と入力したら 無 と出しax(さぼてん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『C行に1と入力したら 有 0と入力したら 無 と出したい』(さぼてん)

とても初心者です。よろしくお願いします。

  A B C D
1     1
2     1
3     0
4     0
5     1
と入力したら
 A B C D
1    有
2    有
3    無
4    無
5    有

と 画面に出るようにしたいのですが
どの関数を使ったらよいのか?が
わかりません。よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 C列は0か1しか入力しないのでしょうか?
 れとも他の文字や数値が入る可能性はありますか?
 た、ブランクの可能性はありますか?
(カリーニン) 2015/04/17(金) 23:29

 0と1しか入力しないのでしたらユーザー定義書式でこんな方法でも。

 [=0]"無";"有"

 ※数値だったら0以外はすべて「有」となります。
(カリーニン) 2015/04/17(金) 23:33

C列には 現在文字で 有 無 と入力しています。
1と入力したら 有
0と入力したら 無 と出せたら入力が早くなるのにと思いました。

C列には 有 無 以外の文字が入る事はありません。
よろしくお願いします。
(さぼてん) 2015/04/17(金) 23:45


 提示したユーザー定義書式ではできなかったですか?

 既に入力してあるものも数値に直して表示で「無」「有」に
 するのでしたら「置換」で行けると思います。
(カリーニン) 2015/04/17(金) 23:52

 作業セルが使えるなら、

 =IF(A1=1,"有",IF(A1="","",IF(A1=0,"無","")))

 として後で値で貼り付け直し、という方法も。
(カリーニン) 2015/04/17(金) 23:56

すみません。自宅のパソコンにExcelが入っていなくて
月曜にならないと教えていただいたのが試せずじまいです…

月曜に試した後にまたどうだったかを、入力します。
すみません。が少々お付き合いください。
ありがとうございます。

(さぼてん) 2015/04/18(土) 00:31


 シートのイベントを利用した方法です。
 これは表示形式ではなく値そのものを変換します。

 Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
  If Target.Value = "" Then Exit Sub
  Select Case Target.Value
   Case 1
    Target.Value = "有"
   Case 0
    Target.Value = "無"
  End Select
 End Sub
(カリーニン) 2015/04/18(土) 08:20

 飛び入り失礼します。
 Changeイベントで、(カリーニン) 2015/04/17(金) 23:33 のカリーニンさん提示の書式を設定してみました。
 あわせて、C列、複数セル領域に値が入ると(フィルコピーやコピペや、選択してDltキー等)Target.Value 参照でエラーになりますので
 そこの手当てを追加してあります。

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    Dim c As Range
    Dim fmt As String

    Set r = Intersect(Target, Range("C:C"))
    If r Is Nothing Then Exit Sub

    For Each c In r
        Select Case c.Value
            Case 0, 1
                c.NumberFormatLocal = "[=0]""無"";""有"""
            Case Else
                c.NumberFormatLocal = "G/標準"
        End Select
    Next

 End Sub

(β) 2015/04/18(土) 10:50


 βさん、フォローありがとうございます。

 0か1しか入力しないのなら、セル範囲に最初にどちらか多い方を
 コピペなどで入れておいて違うセルだけを入れなおす、という方法
 でもいいですね。
(カリーニン) 2015/04/18(土) 22:22

みなさん。回答ありがとうございます。まだ教えて頂いたのが試せていないのですが…申し訳ないです。
また、せっかく教えて頂きましたが私が初心者すぎて、教えて頂いたものを入力する場所がよくわかっていません。
マクロの記録?の所で編集?で記載すれば良いのでしょうか?よろしくお願いします。
(さぼてん) 2015/04/21(火) 20:29

 該当のシートのシートタブを右クリック、コードの表示を選んでください。
 でてきたところがVBE画面のシートモジュールというところです。
 ここにコードを貼り付け、右上のXボタンでVBE画面を閉じ、シートに戻ります。

 で、C列に何か値を入れてみてください。

(β) 2015/04/21(火) 20:35


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.