ぼくLog

子持ち、車持ち、マンション持ちの僕の日常を綴ります。車と、ラクをしたい一心で覚えたエクセルVBAを中心になりそうです。

楽天モバイルのデータSIMを解約しました

f:id:yt4u:20161031100108j:plain

ぼくは従来から IIJ mio を使っていますが、honor 8 を入手するために楽天モバイルのスマホとデータSIMセットプランを契約しました。

楽天モバイルの契約は honor 8 を7,000円引きキャンペーンを活用して入手するためと割り切って、データSIMは即解約する予定だったのです。

yt4u.hatenablog.com


楽天モバイルの解約に関する注意点をまとめると以下の通りです。

  1. 通話SIMの場合、最低利用期間は12ヶ月で、12ヶ月以内の解約は9,800円の違約金が発生します。
  2. データSIMの場合、最低利用期間・違約金ともに発生しません。
  3. 毎月15日までに手続きを完了させれば当月末での解約となります。

あわせて楽天モバイルは最初の1ヶ月の基本月額料金が無料なので、月初にデータSIMを新規契約し、その月の15日までに解約の手続きを済ませれば、ランニングコストや解約コストを掛けずに楽天モバイルとサヨナラすることができます。


楽天モバイルの解約準備

解約方法を探す

楽天モバイルのトップページからリンクを辿って解約方法の説明にたどり着くことは困難。

サイトマップを見ても「解約」の文字は見当たりません。

トップページ > よくある質問 >解約 で手続きを記載したページたどり着くことは可能ですが、素直に「サイト内検索」に「解約」と打ち込んで検索することをオススメします。

「解約について教えてください。」というリンクが出てきますので、それを開きましょう。

f:id:yt4u:20161023180246p:plain

ここにしれっと書かれていますが楽天モバイルの解約手段は電話のみなんですね。


楽天モバイルカスタマーセンターの電話番号の確認

「解約について教えてください。」にあるとおり楽天モバイルカスタマーセンターの電話番号は
0800-6000-100 です。
受付時間は 09:00~18:00です。

楽天モバイルカスタマーセンターの番号はこれひとつだけではないようです。

ぼくは楽天モバイルのメンバーズステーションに記載されていた
0800-6000-000 に電話してしまいましたが、ここでも解約することできました。


SIMカードの電話番号の確認

解約の際には、SIMカードの電話番号が必要になります。

電話番号は音声SIMのみならずデータSIMにも割り当てられているんですね。
申し込み後に送られてきたSIMカードの台紙に電話番号が記載されていますので、手元に台紙がある場合はそこで確認できます。

ぼくはいつの間にか台紙を捨ててしまっていました(汗

それでも大丈夫。ほかにも電話番号を確認する方法はあります。

まずは、スマホの設定等でSIMカード情報を見る画面があれば、そこで確認することができます。

honor 8 だとその画面は、、、見つけられませんでした。完全にぼくの力量不足です。


もうひとつの手段は、楽天モバイルのメンバーズステーションで確認する方法です。

楽天モバイルトップページ > 会員サポート/メンバーズステーション > メンバーズステーション と進んでログイン。

「各種オプション利用状況」のなかにある「高速通信容量オプション (リチャージ)購入・残高確認」を開くと、「SIM情報」としてSIM電話番号とSIM番号の記載があります。

このSIM電話番号をメモしておけば準備完了!



楽天モバイルのカスタマーセンターに電話をする

それで楽天モバイルカスタマーセンターに電話をします。

楽天モバイルカスタマーセンターの電話番号は
0800-6000-100 です。


音声ガイダンスに従う

音声ガイダンスに従ってダイアルをプッシュして最後にオペレーターに繋がる、というパターンです。

オペレーターに繋がるまでに必要なダイアルプッシュ回数は2回で、ガイダンス途中でもダイアルプッシュで次に進むことが可能です。

音声ガイダンス第1問

ジャジャン!

  1. 楽天モバイルの申し込みを検討中の方
  2. 申し込み済みで手元に届いてない方
  3. 到着済みの方、利用中の方

「3」をプッシュ!

音声ガイダンス第2問

ジャジャン!

  1. ご利用プラン、料金、紛失、盗難、契約に関する問い合わせ
  2. SIM・端末初期設定、アプリに関する問い合わせ
  3. 解約に関する問い合わせ

「3」をプッシュ!


とりあえず「3」を連打しておけばオペレーターに繋がるフェーズにたどり着けます。


ひたすら待たされる

一番の難関です。

多いですよね。契約とかオプションの申し込み、その他もろもろはWEB上で手続きができるのに、解約だけは電話じゃないと出来ないってパターン。
そしてその電話もオペレーターに繋がるまでに永遠と待たされるというやつです。

楽天モバイルも例外ではありません。

ひたすら待たされます。

この解約手続きは電話の、しかも音声ガイダンスからスタートして、ひたすら待たせるというのは策略としか考えられません。

この待ち時間でどれだけの人が心折れることか。
退出障壁として高い効果を発揮することを間違いなしです。

唯一の救いは楽天モバイルカスタマーセンターへの電話が通話料無料ってことでしょうか。 通話料は無料じゃないうえに、ゆくっり話す音声ガイダンスを聞かされるアクドイところも多いですからね。

ぼくの1回目の電話は仕事の合間に掛けたこともあり10分くらい待たされたところで、これ以上は待ちきれん!ということで断念。

2回目の電話は休日に掛けました。それが解約締め切り日の15日だったということもあり9時台はずっと通話中で繋がらず。
オートリダイアルなので都度ダイアルするわけではありせんが、20回くらいリダイアルを再試行してもなお繋がらなかったので断念。

3回目は15日の夕方。1発で音声ガイダンスフェーズにたどり着くことは出来ましが、オペレーターに繋がるまでに20分ほど待たされました。


オペレーターの対応は非常に丁寧

しっかしオペレーターの対応がクッソ丁寧。

オペレーターに繋がるまではスマホのスピーカーONにしてテレビを見ながら待っていたので煩わしさはなかったのですが、なかなか繋がらないことに多少イラついていたところでやっとオペレーターの登場となりました。

これまで同様のパターンを思い出すと、イラつきを多少なりともオペレーターにぶつけてしまうこともあったわけですが、今回の楽天モバイルのオペレーターの対応がクッソ丁寧なんですよ。もうね、イラつき忘れるくらい。

ということで、オペレーターとの解約の手続きは非常にスムーズに終わりました。実質2~3分といったところです。


SIMカードを返却する

解約したSIMカードは返却する必要があります。

返却先はオペレーターの方も教えてくれますが、楽天モバイルのサイト内でも確認可能です。

f:id:yt4u:20161023235138j:plain

最近の契約であれば返却先はコチラです。

107-0052 東京都港区赤坂4-2-19 赤坂SHASTA・EAST 5F 楽天モバイルSIM返却係

送料は自己負担です。80円程度ですね。


非常に短い期間ながら楽天モバイルを使ってみて

ものの数日ですが楽天モバイルのデータSIMを使ってみましたが、従来より使っている IIJ mio と体感速度は変わりなく、全く不満はありませんでした。

オペレーターの対応の良さで不満は多少緩和されたものの、解約手続きがひたすら待たされる電話のみというある種姑息な手段に打って出るところ戴けませんが、月々の使用料で楽天ポイントが貯まるのは地味に良かったりもします。

次にスマホを買い替えるときは、楽天モバイルの割引キャンペーンを活用しつつ、本格的に楽天モバイルの乗り換えることも視野に入れてもいいかもしれません。

honor8を使ってみて、ぼくの中でのHuawei満足度は抜群に上がりましたので、次の買い替えもHuaweiが筆頭候補です。
楽天モバイルがhonor8のごとく独占的に販売することになれば間違いなく楽天モバイルに乗り換え決定です。


honor 8 の液晶フィルムは本命不在

<2016/11/26更新>

晴れてぼくは honor 8 を手にしました。

yt4u.hatenablog.com


で、次の悩みは honor 8 を保護するアイテムをどうするかです。


でも、ぼくはスマホ裸派です。
手帳型も含めてケースは一切つけません。

作り手の不断の努力によりより薄く、より軽くなってきているのに、カバーを付けてわざわざ厚く、重くすることに抵抗があるんです。

とはいえ、iPhoneなど1桁後半万円するとなればカバーのひとつでも付けたくなる気持ちもわかります。

なので、ぼくはカバーを付けなかった結果、落として壊れたり液晶が割れたりしても心理的なダメージが小さい価格帯のスマホを重宝しているのです。

そういった意味で honor 8 は抜群にちょうどいいと言えます。


honor 8 の液晶保護フィルムにはまだ本命がいない

ぼくはスマホにケースは付けませんが液晶保護フィルムは付けます。

如何せんぼくはピカピカしてる状態が大好き。
車でも「鏡面」とか「ガラスコーティング」とかのワードを目にするとウズウズするタイプです。

スマホを落として壊したときは仕方がないにしても、普段使いのなかで液晶などに筋傷が入ったりすると一気にテンションが下がります。

なので、液晶保護フィルムは必須。

それで、Amazon楽天で液晶保護フィルムを探し始めたわけですが、ちょうどいいのがなかなか無いんですね。

本命不在です。


現時点で候補に挙がる honor 8 の液晶保護フィルムは3つです

そもそも honor 8 が登場してから日が経ってないので、アクセサリーはあまり充実していません。
これがiPhoneとかXperiaだったらどんどんアクセサリーが増えていくのでしょうが、素晴らしい機体とはいえ honor 8 はどちらかというとマイナー部類。そもそも2.5D液晶に対応してるフィルムが少ないという宿命も負っているなかで、アクセサリーメーカーもパイが小さいところにそれほど労力を割いてくれません。

そんな中で、本命がいませんが消去法的に選択肢に残る honor 8 の液晶保護フィルムは次の3つになります。

ひとまずぼくがチョイスしたフィルムです。

2.5D対応ではないため左右の湾曲部にフィルムが掛からないようにしているため液晶の左右それぞれ1mm程度はカバーできていません。

脂質度高めのぼくでも指紋防止効果がキッチリと発揮されていてスワイプも引っ掛かることなくスムーズに指が動きます。

本命がいない中、フィルムなしで過ごすのは精神衛生上よろしくないので当面を凌ぐものとしてチョイスしました。
値段も安いので失敗しても痛手が少ないですからね。

実際に装着しましたが「当面を凌ぐ」という目的は十分に果たしてくれそうです。


次に全面保護タイプです。


液晶の上下部分も含め、2.5D対応で全面保護するタイプです。
全面フルカバーなので安心感はありそうです。

ただ、まだレビューが少なく評価が出来ないため現時点では購入見送りとなりました。


次も全面保護タイプでベゼル部もクリアなものです。

2.5D対応を謳っておりますがレビューを見る限り1mm程度の液晶を覆えていないようです。

とはいえ評価自体は高め。

当初はこのフィルムにしようかどうかと結構悩みましたが、レビュー数がまだまだ少なく判断が難しいため見送りとなりました。


honor 8 のアクセサリーの充実はこれから

液晶保護フィルムや手帳型カバーなど、honor 8 のアクセサリーの充実はまだまだこれからです。

充実するためには honor 8 のユーザーが伸びていく必要があります。アクセサリー数はユーザー数に比例しますからね。

ただ、ユーザーが伸びない心配はしていません。
この値段でこのパフォーマンス、満足度を得られるスマホがほかにないからです。

とはいえ販路が楽天モバイルにほぼ限定されているため急激なユーザー増加は期待しにくいのかもしれませんね。

是非とも楽天モバイルに頑張ってもらってユーザーを増やしてほしいものです。

あ、でもぼくは7,000円割引キャンペーンで買ったので、それ以上の割引キャンペーンされると、ぼくの割安感がなくなってしまうのでやらないで欲しいかな(汗


<2016/11/26追記>液晶保護フィルムを強化ガラスタイプに替えてみました

前述のとおり、レイ・アウトの防指紋液晶保護フィルムを使っていたのですが、いつの間にか表面に傷が入っていました。どうもバッグから取り出すときにチャックに引っ掛けてしまっていたようです。

そのまま使い続けようと思えば使えたのですが、そのフィルムの「当面を凌ぐ」という役割は終えたという認識から買い替えることにしました。

で、アマゾンを物色。honor 8 が発売されて間もないころと比べると、honor 8 に適合したフィルムも拡充されてきましたね。

そんなことを思いながらポチっとしたのがコチラ。


先に挙げていたフィルム候補とは違うものを買ってしまいまた(汗

ぼくにとっては初ガラスフィルム。
2枚入りで約800円と非常にお安い。安かろう×××の部類と認識しつつも、初ガラスフィルムの完全お試しです。

で、さくっと配送されてきて、ちゃちゃっと貼り付けてみました。

f:id:yt4u:20161127002315j:plain

分かります??この画像だと液晶の両サイドに帯状の線が見えますよね。


せーの、浮いとるやないかーい


そうなんです。液晶の両サイドでフィルムが浮いちゃってるんですよ。なんということでしょう。これでは見た目がちょっと△です。×じゃなくて△なのは両サイドを除く中央部は非常にクリアに液晶の映像をぼくに届けてくれるからです。

綺麗だし指のすべりも上々だし感度も落ちてないしと良い点はあるものの、フィルムが浮いちゃうのは残念。

ちなみに浮いてる部分のタッチ感度は特に悪くなってる感はなし。そもそもそれほど使わないエリアなので大きな支障はないですね。


ま、お試しで買ったしこんなこともあるよね、ってことでひとまず使っていきたいと思います。次にファイルを買い替える頃にはもっと良いものがあることを願って。

しかし、2枚入りなので、どこかで見切りをつけないことには長いこと使い続けることになりそうです。

引き続き、honor 8 の液晶保護フィルムには本命不在なようです。

honor 8 が快適過ぎる!

これまで ZenFone2 Lazer を1年ちょっと使ってきました。

いよいよ動きが悪くなってきたことと、バッテリーのヘタリを感じ始めてきたので、次のスマホをどうするか物色開始。
(動きが悪くなったとかバッテリーとか、ただ買い替えたいだけの言い訳なんですけどね)

ぼくは ZenFone2 Lazer、嫁は P8 Light という布陣を組んだのが1年ちょっと前。

当初は2機に大きな違いはないだろうとタカを括っていました。

でも、使ってみると何かと P8 Light の方がいい!
ということで、次は P9 Light にしようとほぼ気持ちが固まっていたんです。

そんな矢先に honor 8 登場。

脊髄反射楽天バイルでポチっとしちゃいました(汗


で、中2日で到着。

楽天性悪説で臨むべしという自らの教訓上、1週間超待たされることを覚悟していましたがアっという間に届きました。

で、

honor8出してみました

f:id:yt4u:20161011215744j:plain

箱は縦型です。


すすすぅーっと、上箱をスライドさせると、自らの薄さを主張するようにそこに鎮座しています。

f:id:yt4u:20161011215748j:plain


さすがに最初は慎重に取り出します。

f:id:yt4u:20161011215752j:plain

結構ツルツルしてます。なので、しっかりと握っていないと手から滑り落ちそうな感覚に襲われます。


スタートガイドなどはhonor8の両脇を固めるように収まっています。

f:id:yt4u:20161011215756j:plain


はい、うしろ。

f:id:yt4u:20161011215759j:plain

指紋ベタベタが嫌でホワイトパールにしたので、15層の塗装が織りなす光のダンスは残念ながらお披露目なしですが、それでも艶やかな表情は垣間見せてくれます。


はい、ダブルレンズ。

f:id:yt4u:20161011215803j:plain


使用感は抜群!期待を遥かに上回っています

これまで使っていたZenFone2 Lazer のモッサリ感アピールが日に日に増していたこともあり、honor 8 のサクサク感に安息感を抱かずにいられません。

これはひとえにオクタコアと4GB-RAMの効用なのでしょうか。


写真もバッチリ

f:id:yt4u:20161011222839j:plain

敢えて言うとAUTOだとISOが高めに設定されているのでしょうか。
夕暮れでも結構明るく撮れますがノイズが目立っています。


画面は綺麗

これまでの ZenFone2 Lazer がHD画質だったからということもありますが、やっぱりFullHDは綺麗。

必要十分な画質レベルを40%程度上回る印象です。


指紋認証が快適すぎます

f:id:yt4u:20161011215759j:plain

この背面についている〇が指紋認証+物理ボタンになっています。

0.4秒での認証を謳っていますが宣伝文句に偽りなし。
たまたま指が触れただけで即認証完了。その速さ、逆に焦ります。


また、この指紋センサーを上から下にスッとスライドすると通知パネルがニュルっと降りてきます。

これはこれで非常に便利なものの、指紋センサーが本当に絶妙に位置にあるんです。
絶妙な位置にあるがゆえに、ウェブサイトなどを閲覧しているときにちょうど人差し指が当たるんですよね。
人差し指が触れようものなら通知パネルがニュルっと降りてきてしまうんです。そのたび、ou... となるわけです。

指紋センサースライドで通知パネルを開くかどうかは設定で切り替えられますが、今のところ ベネフィット>ou... なので設定ONで使い続けるつもりです。


ZenFone3はライバルにあらず

別にASUSが嫌いでもなんでもありません。


でも、ZenFone3は背面カメラ部分の凸がちょっとね。
honor8 を手にして改めてフラットな構造っていいなって感じています。


あと ZenFone2 Lazer を使っていて気になったのはASUS謹製のアプリがやたらと多いこと。

アプリの質は悪くないと思うのですが、ぼくにとって必要性を感じないアプリも多数あります。
それらはアンインストール可能ですが、気を抜いているとドンドンと自動的に再インストールされていきます。
これが地味にウザいんですよね。イラっとするんですよね。


ということで ZenFone に対する満足度がぼくの中で下降曲線を描いていたこともあり、同時期に出てきた ZenFone3 は全く眼中に入りませんでした。


honor 8 断然オススメです

もう一度言いますが honor 8 断然オススメです。最強です。

どんどんとスマホに新しい技術・概念が導入されていくなか、iPhoneや日系のスマホの10万ソコソコするものを数年使うくらいなら、3~4万円のものを毎年買い替える方が満足度高いですよね。


honor 8 は楽天バイルで購入可能です

2016/12/1(木)9:59 までなら楽天バイルのキャンペーンで販売予定価格の7,000円引きで35,800円で購入可能。


↓↓楽天バイルはコチラ↓↓


ぼくはすでに IIJ mio を使っており解約する予定もないので、7,000円引きの恩恵を受けるべく honor 8 + データSIM で申し込みました。
(実際は申し込み時の事務手数料で割引額の半分は持っていかれます涙)

楽天バイルはデータSIMに限らず月額基本料1か月無料というのをやっています。
加えて、データSIMであれば最低利用月数とか解約手数料がないので、データSIMセットプランで申し込んで月額基本料が発生する前に解約すれば、単純に端末を買うより多少は安上がりになります。

如何せん楽天性悪説を自戒としていますから、どうせ通信速度遅いんでしょという想定のもと楽天バイルを使い続ける気なんて毛頭なかったんです。

でも、初月無料だからということで楽天バイルのデータSIM使ってみたら、まぁ普通。
普通というのは特に遅いと感じることなく普通に使えるということでぼくのなかで高評価です。

普通に使えることで楽天性悪説に揺らぎが見え始めてきました(汗

楽天バイルの解約はもう少し待ってみようかな。。。



楽天バイルに関わりたくない、という場合は、楽天のHUAWEI公式ショップから端末のみの購入も可能です。

コールマンのキャリーワゴンでマンションライフを楽チンに

大量に買い物を車に詰め込んで帰宅したとき、マンション住まいだと車から部屋まで荷物を運ぶのって大変ですよね。

手で運ぶと重たいし、しかも1回で運びきれずに何往復かすることも。
高層マンションだと1往復にかかる時間もバカにできません。


コールマンのキャリーワゴンは大容量

そんなとき、ぼくのおうちで活躍してくれているアイテムはこいつです。

Coleman(コールマン) アウトドアワゴン 2000021989

Coleman(コールマン) アウトドアワゴン 2000021989


なんといっても大容量。

荷台の容積は約100L、耐荷重は約100kgです。

乗せられる荷物の量の目安としては、①一杯詰め込んだコストコの大きい保冷バッグ1つ、②水2リットル×6本のダンボールケース2つ、③ビール350ml×24本のダンボールケース1つ。
およそこれくらいがゆとりをもってカーゴ内に収まります。

さらに上に積み上げて運ぶことも可能ですが、段差などで荷物が滑り落ちないか注意して運ぶ必要があります。

5歳くらいまでのお子さんなら2人乗せて運ぶことも可能だったりします。

いくらでも荷物を運べるんじゃないかと錯覚さえ起こしてしまいます。


収納時はめちゃくちゃコンパクト!

しかも収納時のサイズは縦横が18×40cm、高さが77cmと、かなりコンパクト。

ぼくはシューズクローゼットに置いていますが全く場所を取りません
このコンパクトさは車に積んだ時により威力を発揮します。
荷物運搬手段たるキャリーワゴンが車のラゲッジスペースを占拠してしまっては本末転倒感ハンパないですからね。


さらば台車

ぼくはこのキャリーワゴンに出会うまでは、巷でよく見る台車を使っていました。

こんなヤツです。

これはこれで活躍してくれたのですが、やはり一度に運べる量が多くないため車から部屋まで2~3往復することもよくありました。

その当時は駐車場から部屋までものの数分で行くことができたので特に問題はなかったのです。
ただ、そこから引っ越すこととなり新天地では駐車場から部屋まで最低でも5分はかかるようになってしまった。さすがに複数回の往復はしんどい所要時間です。

そこで出会ったのがキャリーワゴンだったわけです。


買い物っていいんですよね

昨今は、ネットスーパーやアマゾンなど、時間をかけずにお手軽にお買い物が出来る環境が出来上がってきていますので、わざわざ毎週買い出しに行く必要もなくなってきています。

にも拘わらず、ぼくは毎週、嫁子どもと一緒に買い出しに行っています。

一緒に買い物をすることが一種のレクレーションになってるからです。
子どもがあのお菓子欲しいと駄々をこね、ぼくが理由を説明してでそれはダメだと諭す。
正直面倒なやり取りだったりもしますが、それはそれで楽しかったりもするわけです。

買い物をすべてネットで完結させてしまうと、そんなやり取りもできません。

一方で、ネットで買い物を完結させて、浮いた時間を他に回した方が有意義だと考えることも可能です。
可能なのですが、毎週のようにいろんなイベントを用意するのって大変(汗
だから、ぼくは買い物というイベントをできる限り有効活用しているわけです。


コールマンのキャリーワゴンの要改善点は

と、コールマンのキャリーワゴンが良いんだという話から逸れてしまいました(汗。

敢えてこのキャリーワゴンの悪い点を挙げるとすれば、折り畳んだ状態の時の持ち運びです。

折り畳んだ時につけられるカバーに取っ手がついており、キャリーバッグの如く引っ張れるような作りになっています。

ただそのように引っ張るとすぐに倒れます。
コンパクトであるが故にバランスがイマイチ取れないんですよね

ちょっとコツは必要なのですが、固定輪を前側にした上で地面から離すように持ち上げ、可動輪である後輪のみを接地させて引っ張っていくと、キャリーワゴンをすべて持ち上げずとも運ぶことが可能になります。

ホント、持ち運びがもっと簡単にできるようになればパーフェクトなんですよね。おしい。


安心感はバツグン

コールマンのキャリーワゴンも良し悪しはあるわけですが、「良し」が完全に「悪し」を上回っていることは間違いありません。

「Coleman」というブランド力がぼくの評価を押し上げる可能性も否定はしませんが、実物を触ってみれば分かると思いますが、シッカリしていて安心感があります。

元がアウトドアで使うことを想定しているわけですから、これといった悪路もない日常使いではびくともしないわけです。

コールマンのキャリーワゴンのライバルはロゴス

コールマンのキャリーワゴンのライバルはコレです。


ポップでいいカンジ!

車輪も大きいのでなんか安定しそう(笑。

しかも折り畳んだ時の持ち運びが、特にコツもいらずキャリーバッグの如く引っ張れます。
ただその分、収納時のコンパクトさを犠牲にしています。
あと耐荷重も80kgとコールマンのものよりやや少ないです。


実はぼく、キャリーワゴンを探しているとき、LOGOSのワゴンの存在を知らなかったんですよね。

もし知っていたらコールマンとロゴス、どちらのワゴンを選んでいたのか??


うーん(汗
どっちを選んでいても後悔はしなかったハズ。

ただ、折り畳んで車に積むことを考えたら、よりコンパクトなコールマンかな。たぶん。

エクセルの表が大きい時は行と列のハイライトで分かりやすくする|エクセルVBA

エクセルで行方向、列方向に数多くのデータが並ぶ、とにかく大きな表に出くわした、もしくは作らざるを得なかったことはありませんか?

例えばこのような表です。

f:id:yt4u:20160913235214j:plain


大きな表になってしまうのは、諸事情があるのでそれ自体を否定するわけではありません。

ただそのような大きな表の中で、自分が何番目の行の、何番目の列にいるのか、分からなくなってしまうことが容易に想像できます。

そんなとき、表がハイライトされたらいいのにと思ったことはありませんか?


ということで、ハイライト機能を実装する方法を考えてみました。

完成形のイメージはこんなカンジです。

f:id:yt4u:20160917213728j:plain

先にコードを見てもらい、その後で内容について説明します。



ハイライト機能の構成


メイン部分をクラスモジュールで用意


クラスモジュール「blClsHighLight」

Option Explicit

Private WithEvents mwsTarget      As Worksheet
Private mrngHighLight             As Range  'ハイライト有効レンジ

Private mrngSelectedRow           As Range  'ハイライトされた行
Private mrngSelectedCol           As Range  'ハイライトされた列
Private mrngSelected              As Range  'ハイライトされたセル

'ハイライトカラーRGB指定(RGB文字列とそれを格納する配列を用意)
Private Const mcRowHLColor        As String = "255,230,153"     '行ハイライト色(R,G,B)
Private Const mcColHLColor        As String = "255,242,204"     '列ハイライト色(R,G,B)
Private Const mcCellHLColor       As String = "255,217,102"     'セルハイライト色(R,G,B)
Private mstrRowHLColor()          As String
Private mstrColHLColor()          As String
Private mstrCellHLColor()         As String


Private Sub Class_Initialize()

  'RGB文字列を配列に変換
  mstrRowHLColor = Split(mcRowHLColor, ",")
  mstrColHLColor = Split(mcColHLColor, ",")
  mstrCellHLColor = Split(mcCellHLColor, ",")

End Sub


Private Sub Class_Terminate()

  Set mwsTarget = Nothing
  Set mrngHighLight = Nothing
  Set mrngSelectedRow = Nothing
  Set mrngSelectedCol = Nothing
  Set mrngSelected = Nothing

End Sub


'==========================================================
'ハイライト機能を持たせるシートを取得
'==========================================================
Public Property Set TargetSheet(HighLightSheet As Worksheet)

  Set mwsTarget = HighLightSheet
  
End Property


'==========================================================
'ハイライト有効レンジを取得
'==========================================================
Public Property Set HighLightArea(HighLightRange As Range)

  Set mrngHighLight = HighLightRange
  
  'ハイライト有効レンジの色塗りをクリア
  mrngHighLight.Interior.Color = xlNone
  
End Property


'==========================================================
'mwsTargetのSelectionChangeイベント
'==========================================================
Private Sub mwsTarget_SelectionChange(ByVal Target As Range)

  On Error GoTo ERR_PROC
      
  'ハイライトのクリア
  Call clearHighLight(Target)
    
    
  'ハイライト実行
  Call doHighLight(Target)


  GoTo END_PROC
ERR_PROC:
  mrngHighLight.Interior.Color = xlNone

END_PROC:

End Sub


'==========================================================
'ハイライトのクリア
'==========================================================
Private Sub clearHighLight(Target As Range)


  With mwsTarget


    'ハイライトされた行とTarget行が一致しない場合は
    'ハイライトされた行の色塗りをクリア
    If Not mrngSelectedRow Is Nothing Then
    
      If Target.Row <> mrngSelectedRow.Row Then
      
        mrngSelectedRow.Interior.Color = xlNone
      
      End If
    
    End If
  
  
    
    'ハイライトされた列とTarget列が一致しない場合は
    'ハイライトされた列の色塗りをクリア
    If Not mrngSelectedCol Is Nothing Then
    
      If Target.Column <> mrngSelectedCol.Column Then
      
        mrngSelectedCol.Interior.Color = xlNone
        
      End If
    
    End If
    
  
    'ハイライトされたセルとTargetセルが一致しない場合は
    'ハイライトされたセルの色塗りをクリア
    If Not mrngSelected Is Nothing Then
    
      If Target.Address <> mrngSelected.Address Then
      
        mrngSelected.Interior.Color = xlNone
        
      End If
  
    End If
    
    
  End With
  
End Sub


'==========================================================
'ハイライト実行
'==========================================================
Private Sub doHighLight(Target As Range)

  With mwsTarget
    
    
    'Targetとハイライトエリアが重複していた場合
    If Not Application.Intersect(Target, mrngHighLight) Is Nothing Then
    
      '行のハイライト
      With Application.Intersect(.Rows(Target.Row), mrngHighLight)
      
        .Interior.Color = RGB(mstrRowHLColor(0), mstrRowHLColor(1), mstrRowHLColor(2))
        
        Set mrngSelectedRow = .Cells
        
      End With
    
    
      '列のハイライト
      With Application.Intersect(.Columns(Target.Column), mrngHighLight)
      
        .Interior.Color = RGB(mstrColHLColor(0), mstrColHLColor(1), mstrColHLColor(2))
        
        Set mrngSelectedCol = .Cells
        
      End With
      
        
      'セルのハイライト
      With Application.Intersect(Target, mrngHighLight)
      
        .Interior.Color = RGB(mstrCellHLColor(0), mstrCellHLColor(1), mstrCellHLColor(2))
        
        Set mrngSelected = .Cells
      
      End With
      
    
    Else 'Targetとハイライトエリアが重複していない場合
    
      mrngHighLight.Color = xlNone
    
    End If
  
  End With


End Sub

クラスモジュールを使わずにシートモジュールを使う方法も考えられます
ただ、ハイライト機能を持たせるシートが1つだけとは限りません。
ハイライトシートが複数あって、それぞれに同じコードを書くのは無駄ですよね。
コード修正が必要になった時なんてシートの数だけ同じ修正が必要で余計な労力がかかりますから尚更です。


ハイライトクラスを呼び出すSubプロシージャを用意

ハイライトさせるシートとレンジを設定します。
ここではハイライトさせるレンジに予め「rngHL_HighLight」と名前をつけています。


標準モジュール「blMdlHighLight」

Option Explicit

Public gclsHighLight              As blClsHighLight


Public Sub setHighLight()

  'ハイライトクラスのインスタンスを生成
  Set gclsHighLight = New blClsHighLight
  
  'ハイライトシートを設定
  Set gclsHighLight.TargetSheet = wsHighLight
  
  'ハイライトレンジを設定
  Set gclsHighLight.HighLightArea = wsHighLight.Range("rngHL_HighLight")

End Sub


Subプロシージャ「setHighLight」をWorkbook_Open時に実行

Workbookを開くと同時にハイライト機能を呼び出し、閉じるときに破棄するようにします。
上述のSubプロシージャを「ThisWorkbook」モジュール内で完結させることも可能ですが、分けておいた方がすっきりして見やすくなると思います。


「ThisWorkbook」モジュール

Option Explicit

Private Sub Workbook_Open()

  Call setHighLight
  
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

  Set gclsHighLight = Nothing

End Sub



ハイライト機能は名脇役

シート上に存在する表やデータをどう使うかが一番の目的であることは言うまでもありません。
なので、ハイライトは決して必須の機能ではなく、あくまで脇役。

とはいえ、自分が作ったちょっと大きな表を他の人も見ることになったとき、そこにハイライト機能があったら「コイツやるな」と思われること間違いなし!

ハイライト機能は、同じシートを複数人で共有するときに活きてくる名脇役なのです。


なお、自分以外の人が同じエクセルを弄ることになると予期せぬエラーはつきもの。
エラーが発生すると、ハイライトクラスが破棄されてハイライト機能も動かなくなる可能性があります。
そんなときのために次善の策を打っておいてもいいかもしれません。

例えば、ハイライト機能を持たせたシートのシートモジュールを使って、ハイライトクラスが破棄されていたら再度生成する方法が考えられます。

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If gclsHighLight Is Nothing Then

    Call setHighLight

  End If

End Sub

シートモジュールを使うのは何かと面倒だからクラスモジュールを使って、、、
という方針とはやや矛盾している点は無視してください(汗