[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空白の時』(かなこ)
IF をもう一つ使ってあげればよいと思いますけれど、 =IF(A14="","休み",今の式) としてどうでしょうか。 (Mook)
起きたばかりであたまがぼんやりしてるんだけど・・
この式は、A14以外のところに書いてあるんだよね? で、「休み」と表示したいのは、A14なんだよねぇ・・・・・。
関数式では、別のセルに値を書き込むことはできないのでは? だから、残念だけど、組み込めない・・・・・
(ぶらっと)
=IF(A14="","休み",IF(ISNA(VLOOKUP(A14,レジシフト編集!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14,レジシフト編集!$I$2:$O$153,6,FALSE)))
何もおこりません?ダメと言う事なんですか〜ぁ
(かなこ)
>何もおこりません?
う〜ん・・ 上でコメント入れてるけど、この式は、どこに書いてあるのかな?
仮に、A1 に書いてあったとしよう。で、A14が空白だったとしよう。 そうすると、A14 ではなく 式が書いてある A1 に "休み" と入っていない?
>ダメと言う事なんですか〜ぁ
そうだね。A14 に"休み" と書き込むこと自体が無理。(と、上でコメントしたけど?)
(ぶらっと)
なので、A14 を、どうこうするのはあきらめて(?)
「A14以外のところ」に =IF(A14="","休み",A14) で、今の式を =IF(ISNA(VLOOKUP(A14以外のところ,シフト!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14以外のところ,シフト!$I$2:$O$153,6,FALSE))
こうするか、それもいやならVBA。
A14 に何か入れたとき、それが空白ならA14を"休み"にし、A14の値でVLOOKUPするなら。 (例:VLOOKUPが入っているセルが A1 だとして)
シートモジュール(シートタブを右クリック、コードの表示を選んででてくるところ)に以下を貼り付け。
Private Sub Worksheet_Change(ByVal Target As Range) Dim ans As Variant
If Target.Address(False, False) <> "A14" Then Exit Sub
Application.EnableEvents = False
If IsEmpty(Range("A14").Value) Then Range("A14").Value = "休み" End If
ans = Application.VLookup(Range("A14").Value, Sheets("シフト").Range("I2:O153"), 6, False) If IsError(ans) Then Range("A1").ClearContents '★ 実際のセルに変更 Else Range("A1").Value = ans '★ 実際のセルに変更 End If
Application.EnableEvents = True
End Sub
(ぶらっと)
あっ、そういうことだったんですね。 夜遅かったので(いいわけ)、勘違いしていました。
空のセルに表示するってことはできませんから、A14 で素直に「休み」って入れたら ダメでしょうか。
あるいはひと手間ですけれど、選択した範囲の空白に全部休みって入れたいのであれば、 マクロの記録をとったものをちょっと加工しただけですけれど、 Sub Sample() If WorksheetFunction.CountBlank(Selection) = 0 Then Exit Sub Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Replace What:="", Replacement:="休み" End Sub
のようなものも出来そうです。
Selection は Range("A14:A20") のようにしておくと、決めた範囲を毎回処理する こともできます。 Sub Sample2() If WorksheetFunction.CountBlank(Range("A14:A20")) = 0 Then Exit Sub Range("A14:A20").SpecialCells(xlCellTypeBlanks).Select Selection.Replace What:="", Replacement:="休み" End Sub (Mook)
=IF(A14="",VLOOKUP("休み",シフト!$I$2:$O$153,6,FALSE),今の式)
1)どこかに、こっそり、例えばA100に、=IF(A14="","休み","")と入力 2)隠しておきたいなら、文字色を白または行ごと非表示 3)透明なテキストボックスを、A14セルの上に作成 4)テキストボックスに数式を=A100と入力
テキストボックスを間違って削除してしまいそうなのが問題ですが。 シート保護できればいいんだけど。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.