[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルをクリックすると特定の文字列入力』(なる)
入力規則で リストに " "と"○"を設定する、ではだめですか? スペースは本当の意味では空白ではないですが・・・。 (MARBIN)
これも空白ではないのですが・・・。
A1セルに =IF(A2=1,"○","")
A2セルに入力規則で リスト =1,2 としてみてはいかがでしょう?
A2で1を選択したときのみA1に○が表示されます。 (MARBIN)
早速やってみました。なかなかスマートにやれました!
ただ、欲を言えば、リストを表示する→選択するといった手順を踏まなくて、
1クリックで出来ないだろうかと考えているのですが…。
クリックだけでとはなんと横着な・・・(笑 ダブルクリックやと手ぇが疲れまっか? Sheetモジュールに下のコードをコピペ(Sheetタブを右クリック→コード表示) 戻ってA1をWクリックしてみてくらはい。 (弥太郎) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> Range("a1").Address Then Exit Sub Cancel = True If Target = "" Then targt = "○" Target = IIf(Target = "○", "×", "○")
End Sub
「そのセルに」という訳にはいきませんが、フォームのチェックボックスを 使うとクリックだけでON/OFFの切り替えが出来ます。 (純丸)(o^-')b
あぁぁぁ、If Target = "" Then targt = "○" この行不要!targtって、なんや! (弥太郎)
しかし皆さんすごい! 確かにバッチリです。ありがとうございます。
ふるいトピを上げてすみません。 最後の弥太郎さんマクロについてなんですが
・IIfというのは、HELPで見たところ、IF関数と同じように、真偽の2パターンしか分岐しないようですね。 これを○×△の3パターンに増やしたいとしたら、CASEを使うのが妥当ですか? ・これはA1セル限定の動きですが、 動作範囲をA1:A100の間の、4行おきのセル(A1,A5,A9,A13…A97)に拡張したい場合 Range("a1")の部分をどう書き換えればよいでしょうか?
以上2点、よろしくお願いします(庸)
条件が多いばやいはselect caseを使うんがベターでっしゃろなぁ。 庸さんのケースやとこんな塩梅でいけまっしゃろ。 (弥太郎) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Row > 100 Or Target.Column > 1 Then Exit Sub If Target.Row Mod 4 <> 1 Then Exit Sub Cancel = True Target = IIf(Target = "○", "△", IIf(Target = "△", "×", "○")) End Sub
おお、製作者・弥太郎さん御自らのご回答ですね、ありがとうございます♪
ふむふむ Target.Address が Target.Row になるわけですね Target.Column > 1 Then Exit Sub これは、B列以降を範囲から除くぶん。 そんで、ORで繋ぎーの、MODで絞りーの、IFを入れ子にしーの… あらら、関数と一緒じゃんorz
実際にはA2,A6,A10…にはあ、い、うが A3,A7,A11…にはイ、ロ、ハが入るのですが これも関数と同じように、 If Target.Row Mod 4 <> 1 Then Exit Sub の部分に階層をつけて分岐させてやれば、たぶんうまくいくと見た! がんばってアレンジしてみます。 行き詰まったらまたきますので、その際には何卒よろしくお願いします(庸)
うまくいったので、ご報告です。 なにをこんな程度で喜んでいるかと言わないでくださいね 私にとっては、これはたいしたことなんですよ^^;(庸) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row < 2 Or Target.Row > 132 Or Target.Column <> 4 Then Exit Sub If Target.Row Mod 4 = 0 Then Exit Sub Cancel = True
If Target.Row Mod 4 = 1 Then Target = IIf(Target = "◎", "○", IIf(Target = "○", "", "◎")) Else If Target.Row Mod 4 = 2 Then Target = IIf(Target = "A", "B", IIf(Target = "B", "C", "A")) Else If Target.Row Mod 4 = 3 Then Target = IIf(Target = "有", "無", "有") End If End If End If
End Sub
>なにをこんな程度で喜んでいるかと言わないでくださいね 誰がそんな事いいますかいな! でけ映えは!!!でっせ。(笑 (弥太郎)
>でけ映えは!!!でっせ。(笑
♪♪♪♪ (庸)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.