親子におすすめの新型プラネタリウムとは?

B1がC1が結合されている場合に、形が一致していません。とエラーになってしまいます。
結合を解除せずになんとか入力できないでしょうか?ご教示下さい。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
Cancel = True
If Target.Value = "□" Then
Target.Value = "■"
ElseIf Target.Value = "■" Then
Target.Value = "□"
End If
End Sub

A 回答 (2件)

一番安易な方法ですが、Target.Value → Target(1).Value にすればエラーは回避できます。

機能的にも問題は無いです。ただ、この後もコードを追加していくのであれば、やめておいた方が良いです。他の回答を待ちましょう!!
    • good
    • 0
この回答へのお礼

なんてことでしょう。思い描いたことがまた出来ました。
本当にありがとうございます。

お礼日時:2019/03/14 16:45

こんにちは



2か所ほどある
>If Target.Value  の部分を
 If Target(1).Value
に変えれば、とりあえずは、動作すると思います。

結合セルでも動作するようになるので、「A1とB1を結合」や「A1、B1、C1を結合」してあっても動作するようになってしまいます。
B列以外は対象としない場合は、最初の
>Intersect(Target, Range("B1:B10"))
で絞り込まれた内容に対して、さらにセルのチェックを行うようにすれば宜しいかと。
(もともとが「B列を含む範囲なら、元の範囲に戻って処理する」感じになっていますので…)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qエクセルの入力について

こんなことは、できるのでしょうか

□、■、×を入力するセルがあるのですが、リストなどではなく、シングルクリックをすることにより文字を入力することって、出来るのでしょうか

A1のセルに、クリックするたびに□、■、×の文字を変えて入力したいのです。。

Aベストアンサー

こんばんは!

>シングルクリックをすることにより・・・

単にセル選択だけだと間違ったセルを選択した場合も同じ動作になりますので、
ダブルクリックでの操作にしてみました。

とりあえずA列すべてを対象としています。
↓のコードをシートモジュールにしてください。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
  Cancel = True
   With Target
    If .Value = "" Or .Value = "×" Then
     .Value = "□"
    ElseIf .Value = "□" Then
     .Value = "■"
    ElseIf .Value = "■" Then
     .Value = "×"
    End If
   End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

>シングルクリックをすることにより・・・

単にセル選択だけだと間違ったセルを選択した場合も同じ動作になりますので、
ダブルクリックでの操作にしてみました。

とりあえずA列すべてを対象としています。
↓のコードをシートモジュールにしてください。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
  Cancel = True
   With Target
    If .Value = "" Or .Value = "×" Then...続きを読む

Qエクセル2016

本日エクセル2016にしたのですが
プレビューで見るときに画像のような数字が出てくるのですが
慣れていないせいか見づらく消去できないでしょうか

Aベストアンサー

ルーラーのチェックを外せばいいよ。

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

Q正と負の数値が混在する中で、最大値を求める計算式を教えてください。

正の数値と負の数値が300数個ある中で、最大値(負の数値だけの場合もあります)を求めたいのですが、どなたかお教えいただけませんか?どうぞよろしくお願いいたします。

Aベストアンサー

確認なんですけど、-1と-100なら-1が最大でいいんですよね?

QExcelで土、日、祝日の色分けがうまくいきません

Excelでシフト表を作成しています。列に日付を入力し、行に担当者を入力しています。担当者は1日当たり2セルを使用するため、日付は2セルを結合しています。この時「条件付き書式」を用い土、日、祝日の色分けをしようとしましたが、Weekday関数を使用していますが、関数のセル指定を1つ目のセルを指定しても「:」を使って2つ目のセルを指定しても担当者の1つ目のセルしか色がつきません。どうすればいいでしょうか。

Aベストアンサー

諦める。

Qコピー貼り付けについて

このようなことが、できるでしようか。お教え下さいませんか。
シート1のB2~P列の最終行を取得してコピー、シート2のA2のO列の間に貼り付けたい。
但し、シート1は関数処理していて、シート2には値だけを貼り付けたい時のマクロはどのようなコードにすればよいでしょうか。
また、罫線はそののままコピーして貼り付けたい。
更に、シート1のB2からB列の最終行までは、黄色のセルになっているので、それもシート2のA2~A列の最終行まで貼り付けることってできますか。
マクロコードをお教え頂けますでしょうか。よろしくお願いします。

Aベストアンサー

出来るけど・・・・

マクロでは無くて、貴方の操作でなら実現出来るのですか?
なら、マクロの記録でも行って、どういうマクロが記録されるか確認すれば如何様にでも応用できますね

そうやって自分で解決する方法を理解しないと
コピペばかりでは、いつまでたっても自分で問題解決出来ません

Qエクセルのファイルを開く際の質問です

エクセルのファイルを開くと、常にAの160のセルが左上に表示させるような方法はありませんでしょうか、みんなが使うので、いつも開くと、最期のほうのページが表示されます。
VBAになるのかと思いますが、思いつきません。
先頭行の固定は必要なのですが、なんとか途中のページにある文章を左上にいつも表示させて開きたいのです。どなたか、お救い下さい。

よろしくお願いいたします。

Aベストアンサー

こんばんは。

'//Thisworkbook モジュールに貼り付けます。
Private Sub Workbook_Open()
  Application.Goto Worksheets(2).Range("A160"), True
End Sub

マクロ付きのブック(xlsm)か、バイナリのブック(xlsb) で保存します。

ただし、もし、拡張子が、xlsx でマクロなしのブックを指定した場合は、個人用マクロブックなどを使った特別のブログラムが必要になります。それはまた、ご相談ください。

Q【関数】複数条件に応じてポイントをつけたい

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル K5~K18:担当者ID
➁赤色セル K4:部門コード
※画像添付いたします。

ポイント付与条件別表
黄色セル E列:担当者ID ※上記①と紐づく
ピンクセル F列:担当者に紐づく主担当部門コード ※上記➁と紐づく
※補足へ画像添付いたします。

★条件★
・基本
O列
①「達成額/未達成額」が0以上なら降順に10Pからポイント付与
➁「達成額/未達成額」が0orマイナスならポイント付与せず
※ただし、マイナスでも実績があればポイント付与

上記、基本条件に加えて、下記条件も組み込みたいです。
①担当者ID+主担当部門コードが紐づけはO列に10PからポイントMAX付与
➁担当者ID+主担当部門コード以外だったら該当ポイントの1/2付与
かつ、「達成額/未達成額」が0orマイナスなら1/2のポイントの半分付与

何卒、よろしくお願いいたします。

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル...続きを読む

Aベストアンサー

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRANK.AVR関数を使います。)
*マイナスのポイントは排除したいので、MAX関数でゼロと比較して正の値のみを採択します

追加条件込みの方は、以下です。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0)*IF(VLOOKUP($K5,$E$3:$F$1000,2,FALSE)=$K$4,1,IF($O5>0,0.5,0.25)),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*担当IDから担当部門コードの検索にはVLOOK関数を使います。VLOOK関数が正常に動作するには、担当IDに漏れがない事と番号順に並んでいる事が必要ですので、これ前提で考えて下さい。
*追加条件に準じ、ポイントを1倍したり、0.5倍したり、0.25倍したり、しました。

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRAN...続きを読む

Qエクセルについて

エクセルで列の数字をまとめて変換しました。(つまりすべての値に2を掛ける)

その変換した数字の列をまとめてコピーしたいのですが、ふつうにするとすべてゼロになってしまいます、どうすればよいですか

Aベストアンサー

貼り付けのときに、「形式を選択」から「値」を選択して貼り付ける

Qシリアル値を数値にするには(60分以上)

お力をお貸しください。

開始時間 2019/3/18 12:00:00
終了時間 2019/3/24 15:00:00

とあった時の総期間(時間)は「終了時間」-「開始時間」

そしてそれを「分表示」にしたい場合はセルの書式設定を
[mm]にする(8820)

ここまではわかるのですが、この8820を数値として取り出す
ところでつまづいてしまいました。

(MINUTEを使うと「0」が返ってしまいます)

どうぞよろしくお願いいたします。

Aベストアンサー

=シリアル値*24*60


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング