今だけ人気マンガ100円レンタル特集♪

CSVデータ(Test.csv)に
A1,B1
A1,B1
A1,C1
A2,B2
A2,B2
A3,B3
A3,B3
というデータが1万レコード入っていたとします。(A1~A100まで100種類)

本来は
A1のペアはB1
A2のペアはB2
A3のペアはB3
となるはずが、上記のように誤ってC1が混在していることに気づく手段はございますでしょうか。

Excelの機能、プログラムなどどんな方法でも構いませんので、Excelフィルタ機能で100回確認する以外の方法がございましたら教えて頂けないでしょうか。

質問者からの補足コメント

  • 1万レコードと記載しておりますが、数万レコードあるので目視での確認は難しいという意味となります。

      補足日時:2019/03/15 20:48

A 回答 (6件)

No.5です。



>A列とB列を結合(=A1&"_"&B1)したものを『データ→重複を削除』で重複を削除し、A1で重複しているものをcountifでカウントして2以上のものがおかしい行と判断できる気がしてきました。

具体的なデータがどのようになっているのか不明なので、
C列に A列とB列を連結したデータがいくつあるか?を表示するコードにしてみました。

Sub Sample2()
 Dim myDic As Object
 Dim i As Long, lastRow As Long
 Dim myStr As String
 Dim myR

  Set myDic = CreateObject("Scripting.Dictionary")
   lastRow = Cells(Rows.Count, "A").End(xlUp).Row
    myR = Range(Cells(1, "A"), Cells(lastRow, "C"))
     For i = 1 To UBound(myR, 1)
      myStr = myR(i, 1) & "_" & myR(i, 2)
       If Not myDic.exists(myStr) Then
        myDic.Add myStr, 1
       Else
        myDic(myStr) = myDic(myStr) + 1
       End If
     Next i
     For i = 1 To UBound(myR, 1)
      myStr = myR(i, 1) & "_" & myR(i, 2)
      myR(i, 3) = myDic(myStr)
     Next i
    Range(Cells(1, "A"), Cells(lastRow, "C")) = myR
   Set myDic = Nothing
   MsgBox "完了"
End Sub

これで重複がある場合はC列に2以上の数値が表示されます。m(_ _)m
    • good
    • 0
この回答へのお礼

素晴らしいVBAをありがとうございます。

頂いたVBAをダミーデータで走らせてみました。
下記のように1行目、7行目のデータを見つけるための
VBAを作成するのは可能でしょうか。
私の伝え方が悪く、何度も申し訳ございませんがご教示いただけると幸いです。C列は頂いたVBAを走らせた際の結果になります。

A列 B列 C列
aaa a2 2 ←a1を入力すべきだがa2を入れてしまった。
aaa a1 7
aaa a1 7
aaa a1 7
aaa a1 7
aaa a1 7
aaa a2 2 ←a1を入力すべきだがa2を入れてしまった。
bbb b1 2
bbb b1 2
aaa a1 7
ccc c1 2
ccc c1 2
aaa a1 7

お礼日時:2019/03/16 19:11

こんばんは!



A列は必ず「A」から始まり、B列は「B」から始まりかつ数値部分は同じ!
という条件が「ペア」の条件なのでしょうか?

VBAになりますが、そういうコトだとしての一例です。

Sub Sample1()
 Dim myDic As Object
 Dim i As Long, lastRow As Long
 Dim myR

  Set myDic = CreateObject("Scripting.Dictionary")
   lastRow = Cells(Rows.Count, "A").End(xlUp).Row
   Range("D:F").Insert
    Range("A:C").Copy Range("D1")
     Range("D:D").Replace what:="A", replacement:="", lookat:=xlPart
     Range("E:E").Replace what:="B", replacement:="", lookat:=xlPart
    myR = Range(Cells(1, "A"), Cells(lastRow, "F"))
     For i = 1 To UBound(myR, 1)
      If myR(i, 4) <> myR(i, 5) Then
       myR(i, 3) = "Error"
      Else
       myR(i, 3) = ""
      End If
     Next i
    Range(Cells(1, "A"), Cells(lastRow, "F")) = myR
   Range("D:F").Delete
   Set myDic = Nothing
    MsgBox "完了"
End Sub

上記マクロを実行すると
A列に「A」以外、B列に「B」以外から始まるデータと
数値部分が異なるデータの行のC列に「Error」と表示されます。m(_ _)m
    • good
    • 0
この回答へのお礼

アドバイスをありがとうございます。
説明が不足しており、申し訳ありません。文字数は2文字と決まっておらず、様々な文字数がございます。また最初はどの文字で始まるかは決まっておらず半角英数字で始まります。
今回は左の列のデータに対して右の方に名前をつけていく作業を行っているのですが、同じデータに対して異なる名前をつけていないかをチェックする方法がないか調べております。
イメージとしましてはexcel でA列に下記のような半角英数字の文字列が何万と入っており、B列に名前を入力致します。入力し終わったあとに、B列に間違って入力したものがないか確認したいと考えております。

1ad
b3t
na6g
nadmp
1ad
356
1ad


皆さんのアイデアから
A列とB列を結合(=A1&"_"&B1)したものを『データ→重複を削除』で重複を削除し、A1で重複しているものをcountifでカウントして2以上のものがおかしい行と判断できる気がしてきました。マクロで実現できますでしょうか。

お礼日時:2019/03/15 23:56

No.2の回答者です。


ちょっと補足します。
C1セルのみに
 =SUBTOTAL(103,A:A)
を入力すると、非表示セルを無視してカウントします。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
100になっていれば、100種類なので重複はないと判断できます。
(見出しの行がある場合は、+1なので101になる)

[表示]で[分割]を使えば、先頭行を残して確認もできます。
    • good
    • 0

これでどうでしょう。


【C1セル】=VLOOKUP(A1,A:B,2,FALSE)=B1
    • good
    • 1

[重複するレコードは無視する]の機能を使ってみては。


http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituy …
A列とB列両方を選択して実行します。

この機能を使うだけでも目視しやすくなります。
混在が重複しているとチェック漏れしますが、探しやすくはなると
思います。
余計な作業列を作らないので、関数での指定も無用です。
    • good
    • 0

C1のセルに以下を入力



=LEFT(A1,1)=LEGT(B1,1)

C1を一番下まで複製し、C列をFalseのみでフィルタをかけてみて下さい。

A1セルの左から一文字目と、B1セルの左から一文字目の文字が一致しているかという意味です。

右側の数字を調べたい場合は、以下の通りです。

=MID(A1,2,100000)=MID(B1,2,100000)
    • good
    • 0
この回答へのお礼

説明が不足しており、申し訳ありません。文字数は2文字と決まっておらず、様々な文字数がございます。その場合にはどのような方法がよろしいでしょうか。
今回は左の列のデータに対して右の方に名前をつけていく作業を行っているのですが、同じデータに対して異なる名前をつけていないかをチェックする方法がないか調べております。何かアイデアがございましたら教えて頂けると幸いです。

お礼日時:2019/03/15 21:21

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

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

Qエクセル ifの使い方を教えて

商品の受注入力をエクセルで管理したいのですが、商品には1商品1単価のものと、1商品5単価のものが存在します。商品・価格一覧は以下の通りです。実際の表は500行ほどあります。
(商品・価格一覧表)
code size P① P② P③ P④ P⑤
 1 S 20
 5 LL 1000 900 800 700 600

(受注枠)
code  数 size  -- P--  total
 1  5  S  20  *1  100
 5  3  LL  800  *2  2400

受注枠には、商品となるcode番号と 受注数量を入力すると一覧表からsizeと単価が引けるように作りました。
code5の商品は、注文する枚数に応じて、1枚なら1000円、2枚900円、3枚800円、4枚700円、5枚なら600円となるように設定したいと考えています。
受注枠のPの枠セル(*1)(*2)には、以下の式を作りました。

IF(K5="","",IF(J5<=3,VLOOKUP(J5,$B$4:$H$5,3),IF(AND(J5>=4,K5=1),VLOOKUP(J5,$B$4:$H$5,3),IF(AND(J5>=4,K5=2),VLOOKUP(J5,$B$4:$H$5,4),IF(AND(J5>=4,K5>=3),VLOOKUP(J5,$B$4:$H$5,5),IF(AND(J5>=4,K5>=5),VLOOKUP(J5,$B$4:$H$5,6),IF(AND(J5>=4,K5>=5),VLOOKUP(J5,$B$4:$H$5,7))))))))

code1の商品のように単価が1つのものは受注数がいくつでも対応しますが、code2の商品のように複数の単価を持つ商品は、上の式では3列目のP ③の800までしか対応してくれません。
受注枠の数量欄に 4 と入力しても5と入力しても800と表示されるだけです。

参考書によると、ifの使い方に問題があるのかと思いますがどうしても解決しません。
参考書片手に作成しましたがこの問題を解決していただけないかと質問に投稿させていただきました。
何卒解決の道筋を教えていただきたくお力をお借りします。宜しくお願い致します。

商品の受注入力をエクセルで管理したいのですが、商品には1商品1単価のものと、1商品5単価のものが存在します。商品・価格一覧は以下の通りです。実際の表は500行ほどあります。
(商品・価格一覧表)
code size P① P② P③ P④ P⑤
 1 S 20
 5 LL 1000 900 800 700 600

(受注枠)
code  数 size  -- P--  total
 1  5  S  20  *1  100
 5  3  LL  800  *2  2400

受注枠には、商品となるcode番号と 受注数量を入力すると一覧表からsizeと単価が引けるように...続きを読む

Aベストアンサー

よく分からないのですが、こんなので参考になりますか。
K2セルに次の式が入っています。

【K2セル】=HLOOKUP(J2,A:G,MATCH(I2,A:A,0),TRUE)

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急ぎ教えてくださいDの区分に数字をいれたら倍率、支給額まで表示する計算式ありましか? エクセルは我流

急ぎ教えてくださいDの区分に数字をいれたら倍率、支給額まで表示する計算式ありましか?
エクセルは我流で生きてきたので、分かりません。
よろしくお願い申し上げます。

Aベストアンサー

私もNo.2さんのようなことを考えたのですが、基準額とか関係なく区分で金額が固定ならVLOOKUP関数でいいんじゃないですか?

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「最小化」したファイルが元のサイズに戻ってしまう。

よろしくお願いします。

Excel 2010におきまして、例えば「A」という名前のファイルを開いていて、そのファイルを閉じずに「最小化」して、別の「B」というファイルを開いた際、「A」のファイルが自動で「最小化」が解除されてしまいますが、それを自動にて解除されないように設定することはできますでしょうか?

教えて下さい。

Aベストアンサー

Aファイルの最小化でExcelそのものを最小化したのでしょうか?

この場合だと、Bファイルをエクスプローラなどから開くと。同じ
インスタンスで開くので、Aファイルを開いたExcelでファイルが
立ち上がるので、別インスタンスとしてのExcelを立ち上げてから
Bファイルを開くようにしないと、最小化したものも同じExcel上で
立ち上がるので、元のAファイルも戻ります。
https://www.atmarkit.co.jp/ait/articles/0708/10/news133.html
これはExcel2013以降でも基本的に同じ動作をします。
(No.1の回答者さんが書いているのは、このことを簡潔に回答)

別インスタンスで立ち上げる方法は幾つかあります。以下のサイト
での[送る]を使った方法が一番簡単ではないかと思うので、試して
みてはいかが。。
https://www.atmarkit.co.jp/ait/articles/0708/10/news133_2.html

他に、[ファイル名を指定して実行]でコマンドラインとして /x を
付け、別インスタンスでファイルを起動する方法などもあります。
https://support.office.com/ja-jp/article/Microsoft-Office-%E8%A3%BD%E5%93%81%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%A9%E3%82%A4%E3%83%B3-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-079164cd-4ef5-4178-b235-441737deb3a6#ID0EAABAAA=Excel

Aファイルの最小化でExcelそのものを最小化したのでしょうか?

この場合だと、Bファイルをエクスプローラなどから開くと。同じ
インスタンスで開くので、Aファイルを開いたExcelでファイルが
立ち上がるので、別インスタンスとしてのExcelを立ち上げてから
Bファイルを開くようにしないと、最小化したものも同じExcel上で
立ち上がるので、元のAファイルも戻ります。
https://www.atmarkit.co.jp/ait/articles/0708/10/news133.html
これはExcel2013以降でも基本的に同じ動作をします。
(No.1の回答者さんが書い...続きを読む

Qお世話になっております エクセルで有給の管理をしたいのですが 数式がわかりません。ご教示お願いします

お世話になっております

エクセルで有給の管理をしたいのですが
数式がわかりません。ご教示お願いします。
当社の場合、年休は
一日年休、時間年休、半日年休(1日の半分の年休)の三種類があります。
(8時間拘束です)

一日年休は時間に換算すると8時間
残日数と残時間を足してすべて時間に換算する、まではわかるのですが、頭を悩ませているのが、半休と時間年休の表示をわけることです。

<例>
年休残日数が16日と1時間あるとします。
そこで、半日年休を取ったとします。
16日+1時間を時間に換算すると129時間です
そこから半日と考えて4時間をマイナスすると125時間となりますが、これを下記の数式に入れると

=INT(125/8)&"日"&MOD(125,8)&"時間"

15日5時間となりますが、実際は15日と半日と1時間です。
4時間年休を取ったすればその場合は、残は15日5時間でOKです。

どういう計算式を入れればこのとおり表示できるでしょうか。

悩んで禿げそうです。
どなたかお知恵をお貸し願います。
よろしくお願いします

_______このように表示したい_____________

年月日|1日単位|半日単位|時間単位 残
2月5日   0    1    0   15日半日1時間
2月7日   0    0    4   14日半日5時間
2月8日   0    1    0   14日5時間

お世話になっております

エクセルで有給の管理をしたいのですが
数式がわかりません。ご教示お願いします。
当社の場合、年休は
一日年休、時間年休、半日年休(1日の半分の年休)の三種類があります。
(8時間拘束です)

一日年休は時間に換算すると8時間
残日数と残時間を足してすべて時間に換算する、まではわかるのですが、頭を悩ませているのが、半休と時間年休の表示をわけることです。

<例>
年休残日数が16日と1時間あるとします。
そこで、半日年休を取ったとします。
16日+1時間を時間に換算すると...続きを読む

Aベストアンサー

有給休暇の全てを時間単位で管理して、
残時間に対する最後の表示だけを、日+時間の表示にすればよいと思います。
日=残時間÷8の商、時間=その余り、で表せます。

年間有給時間=年間有給日数×8時間、として、
日休暇=8時間
半休=4時間(午前、午後とも)
時間給=時間に切り上げの時間数
これを消化ごとに減じていけばよい、と思います。

QExcelの計算式を教えてほしいです

残業の累計をとっています。

画像にありますように、
11月16日は勤務時間「8:00」のところ「9:00」で累計「1:00」
11月17日は同様で「累計2:00」となっています。

他の月も同じフォーマットで利用するため、11月は空欄ですが
「C8」には=IF(C7="","",C7-C6)
「D8」には=IF(D7="","",C8+(D7-D6))と入れました。
それを右にコピーしたところ「H8」が「#」のエラーとなってしまいました。

画像はエラーにならないように、計算式を修正してあります。
H8はIF(H7="","",H7-H6)
I8はIF(I7="","",H8+(I7-I6))

<質問1>
C8やD8をどのようにすれば計算式が正しくできますか?

<質問2>
画像の11/20(火)は休日です。現在休日セルには「/」が表示されています。
当然こちらも計算できず「#」となります。
これはどのように回避すれば良いでしょうか?

よろしくお願いします。

Aベストアンサー

No5です。

>勤務時間が「/」の日に出勤をして7行目に「8:00」となっていた場合にエラーとなってしまいました。
6行目が「/」のままとかでは?
式をご覧になればわかるはずですが、単純に、7行目が数値(=時刻)なら、6行目との差を求める式になっているので6行目が数値で無ければエラーになります。
また、その場合の計算方法の説明がないのでわかりません。

そのような場合は、6行目を0と判断して良いものと勝手に仮定して、
さらにNo4様の考え方をお借りして拡張するなら、
C8セルに
 =IF(C7="","",SUM($B7:C7)-SUM($B6:C6))
の式を入力して、右側にフィルコピーの方が良いでしょう。

※ 説明にない条件に関しては、回答者側で適当に補って考えています。
  ですので、その想定外の条件で利用すれば、エラーが発生したり、
  想像していた(=求めていた?)のとは違う計算結果になったりします。

Qエクセルで複数シートを印刷したい場合

エクセル2016を使用しています。
複数シートを印刷したい場合、シートを全部選択して印刷しますが、カラー印刷をしたい場合など、
最初のシートだけがカラーになり、残りのシートはカラーになりません。
全てカラーで印刷するにはどうすればよいでのしょうか?

Aベストアンサー

両面印刷やカラー印刷などのプリンター側で設定するものは各シートでそれぞれ行わなければいけません。

>最初のシートだけがカラーになり
最初のシートにしか設定されていないからです。

Q全てのシート見出しを一時的に非表示にする近道は?

Ctrl+Shift+U の近道(ショートカット)キー操作で「折りたたまれて1行表示の数式バーが展開され、または、数行に展開されていた数式バーが1行表示に折りたたまれる」ことは既にご存知のことかと。(Alt+WVF では数式バーの非表示/再表示が可能なことも?)
閑話休題
さて、全てのシートは表示させたままで、全シート見出しだけを一時的に非表示にする近道キー操作をご存知の方は教えてください。
(ワークシートのスクリーンショットを撮りたいときに、数式バーやシート見出しが邪魔になるときがあるので)

Aベストアンサー

コマンとしては[シート見出しの色]はありますが、希望している
シート見出しの表示・非表示はないみたいです。
No.2の回答者さんが書いている[オプション」の[詳細設定]にある
[シート見出しを表示する]へのチェックの有無で切り替えます。
https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E8%A6%8B%E5%87%BA%E3%81%97%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84-42623d50-2f9b-4583-ad9c-f1b381185e48
どうしてもショートカットキーでの操作を希望するのなら、
マクロとして登録したものにショートカットキーを設定して、
それで切り替えるしかないと思います。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.window.displayworkbooktabs?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev11.query%3FappId%3DDev11IDEF1%26l%3Dja-JP%26k%3Dk(vbaxl10.chm356089)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv15)%26rd%3Dtrue%26f%3D255%26MSPPError%3D-2147217396

マクロの例
Sub WorkbookTabs()
' シート見出しの切り替え
 If ActiveWindow.DisplayWorkbookTabs = False Then
  ActiveWindow.DisplayWorkbookTabs = True
 Else
  ActiveWindow.DisplayWorkbookTabs = False
 End If
End Sub

コマンとしては[シート見出しの色]はありますが、希望している
シート見出しの表示・非表示はないみたいです。
No.2の回答者さんが書いている[オプション」の[詳細設定]にある
[シート見出しを表示する]へのチェックの有無で切り替えます。
https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E8%A6%8B%E5%87%BA%E3%81%97%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84-42623d50-2f9b-4583-ad9c-f1b381185e48
どうしてもショートカットキーで...続きを読む

Qエクセルについて、お救い下さい。

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ベストアンサー

一番安易な方法ですが、Target.Value → Target(1).Value にすればエラーは回避できます。機能的にも問題は無いです。ただ、この後もコードを追加していくのであれば、やめておいた方が良いです。他の回答を待ちましょう!!


人気Q&Aランキング