Excelのセル背景色に指定された色コードを確認するマクロ

▶ in ExcelVBA posted 2016.04.20 Wednesday / 04:58

Excelのセル背景色を、メッセージボックスで表示させるVBAの備忘録です。


確認したいセルをアクティブにして実行すると、10進数・16進数で表示します。

 

2016-04-20_VBA




Sub セルの背景色確認()

'アクティブセルの背景色の色コードを表示する
Dim R As Long
Dim G As Long
Dim B As Long
Dim Color As Long
Dim RGB

Color = ActiveCell.Interior.Color

R = Color Mod 256
G = Int(Color / 256) Mod 256
B = Int(Color / 256 / 256)

'10進数
RGB = "RGB(" & R & ", " & G & ", " & B & ")"
MsgBox RGB

'16進数
MsgBox "#" & Right("0" & Hex(R), 2) & _
Right("0" & Hex(G), 2) & _
Right("0" & Hex(B), 2)

End Sub

ExcelVBAの備忘録~コメントの追加とサイズ調整~

▶ in ExcelVBA posted 2016.04.15 Friday / 04:18

ExcelVBAで、コメントを追加してサイズを自動調整する方法です。

 

コメントを追加しただけだとあまり見栄えが良くない…
ので、サイズを自動調整するか直接サイズを指定します。




Sub コメント挿入()

'A1セルにコメントを追加する
Range("A1").AddComment "コメント1行目" & vbCrLf & "コメント2行目" _
& vbCrLf & "コメント3行目は少し長めにしてみた"

'A1セルのコメントサイズを自動調整する
Range("A1").Comment.Shape.TextFrame.AutoSize = True

End Sub



何も指定しないとき
2016-04-15_com1

 

自動調整したとき
2016-04-15_com2

 

自動調整ではなく、コメントサイズを指定する場合は以下のようにする。

 

Range("A1").Comment.Shape.Width = 130
Range("A1").Comment.Shape.Height = 30

 

幅130、高さ30で指定したとき
2016-04-15_com3

 

 

ExcelVBAで、

 

  • コメントを挿入する
  • 挿入したコメントのサイズを自動調整する
  • コメントのサイズを手動で指定する

 

以上、マクロの備忘録でした。

【ExcelVBA】次の非表示モジュール内でコンパイルエラーが発生しました

▶ in ExcelVBA posted 2016.04.05 Tuesday / 04:20

発生条件がよくわからないのですが…

 

ExcelVBAからIEを操作するマクロで発生します。

 

また、Excel2013とExcel2010など、異なるバージョンのExcelで使った後に発生するような気がしています。


VBA実行時にこのエラーが発生する

20160405_vba_01
--------------------------------------------------------------
次の非表示モジュール内でコンパイルエラーが発生しました:Module1
このエラーが発生するのは、一般的に、コードがこのアプリケーションのバージョン、プラットフォーム、またはアーキテクチャと互換性がない場合です。
このエラーを修正する方法については、[ヘルプ]をクリックしてください。
--------------------------------------------------------------


解決策を見つけられずにいましたが、やっと見つけました。

 

次の非表示モジュール内でコンパイルエラーが発生しましたの解決法

 

このエラーが出た時は、「Microsoft Internet Controls」のチェックを一度外して、再度チェックを付け直すことで回避できます。

 

  1. Visual Basicを起動します。
    [ツール]-[参照設定]をクリック
    20160405_vba_02

  2. Microsoft Internet Controlsのチェックを外して[OK]をクリック
    20160405_vba_03

  3. 再度、[ツール]-[参照設定]をクリック
    20160405_vba_04

  4. Microsoft Internet Controlsのチェックを付けて[OK]をクリック
    20160405_vba_05

  5. Visual Basicを閉じます。

マイクロソフトのOneDriveの紹介者特典が増えてた!!

▶ in Microsoft posted 2016.03.31 Thursday / 04:20

マイクロソフトのOneDrive(無料)を紹介すると、1人あたり0.5GB(10人まで紹介でき最大+5GB)のボーナスストレージがもらえていました。

 

自分は、すでに10人を紹介して5GBのボーナスストレージが付与されているので、これ以上増やすことはできないと思っていました。

 

…が、先ほどOneDriveのストレージの管理を見てみると

 

紹介者特典が10GBに増えていました!
2016-03-31-OneDrive01

 

つまり、自分の場合はあと10人に紹介することができ、ボーナスストレージもあと5GB増やすことができるいうこと。

 

使っていない方、OneDriveを使ってみませんか?(笑)

 

クラウドへのバックアップは万一の備えにもなる


個人ユーザーであれば、今までは外付HDDやNASなどにバックアップを取得することが多かったと思います。

(パソコン本体以外にバックアップ取っていないというのは論外…)

 

今後は、重要なファイルはクラウド(OneDrive)へもバックアップを取っておくことが大切です。

 

東日本大震災の時に、パソコンだけでなくバックアップ用途として使っていた外付HDDも壊れてしまい、ファイルをすべて失ったという話もあります。

 

また、津波で水没したパソコンからデータを復旧させるために、高額な費用がかかってしまったという知人もいます。

 

クラウドって・・・?という方は…

とりあえず、インターネット上にある自分専用のハードディスクと理解しておいてください。

 

クラウド(インターネット上のハードディスク)に、無くなると困る写真やファイルを保管しておけば、天変地異が起こったとしても消えることはありません。

 

OneDrive

 

備えあれば憂いなし!

覚えておきたいSSID「00000JAPAN」~東日本大震災の教訓より

▶ in ネットワーク posted 2016.03.25 Friday / 05:18

東日本大震災から5年が経過し、震災の教訓がやや風化されつつあると感じる今日。

 

あの地震の時、家族や友人となかなか連絡が取れず困った人も多かったはずです。

 

被災地にいた自分も、通信手段がなくいろいろ戸惑っていたことを思い出します。

 

「00000JAPAN」(ファイブゼロジャパン)

 

現在、大規模災害発生に公衆無線LANが無料開放されることをご存知でしょうか。

 

これは、被災者や救援者が通信手段を確保することを目的としています。

 

その際に使用する、無線LAN接続先の名前(SSID)が

00000JAPAN

です。

 

ドコモ、au、ソフトバンク、格安SIMなど、契約しているキャリアに関係なく、また、契約していない人でも無線LANが使える端末を持っていれば、災害時に無料でインターネット通信ができるようになります。

 

この名前「00000JAPAN」は、端末のSSIDの表示画面で、一覧の上に表示させること目的としています。

 

この無料開放が適用される基準は、「携帯インフラが広範囲に被害を受け、携帯電話やスマートフォンが利用できない状態が長時間継続する恐れがある場合」とのことです。

 

災害用の統一SSIDとしては世界初

 

これを使うような事態が起こらないことが理想ですが、万一の備えとして大切だと思います。

 

「00000JAPAN」は、岩手県釜石市と宮城県仙台市で実証実験を行っていて、手順さえ分かればおよそ9割の方が接続できたとのことです。

 

課題は、ITリテラシーの低い人が、災害時にこの無線LANに接続することができるか…ということです。

 

使い方を周知していくとともに、わかるひとが教えてあげるということが大切だと思います。

 

00000JAPANガイドライン第3版と各種ツールの提供開始について
(無線LANビジネス推進連絡会)
http://www.wlan-business.org/archives/4902

「Unsupported video configuration detected」と表示されPCが起動できない…の対処法

▶ in IT関連 posted 2016.03.24 Thursday / 05:46

トラブル対応の備忘録です。

 

Dell(デル)のデスクトップPCを移動させて、再度セッティングした後から、黒い画面に白文字で英語のメッセージが表示されOS(PC)が起動しない

 

…というSOSがありました。

 

--------------------
Attention: Unsupported Video Configuration Detected
Action is Required
This computer has an add-in graphics card, but the monitor cable is plugged
into the integrated video connector.
To attach the monitor cable to the add-in graphics card:
1.Shut down the computer.
2.Plug the monitor cable into the add-in graphics card connector.
This may require a video adapter or video adapter cable.
(provided with the system)
3.Turn on the computer.
This message should not appear after completing these steps.
For more information or help, please refer to the system documentation.
--------------------

 

原因と対処法

 

デルのPCで、「ビデオカード」をオプションで追加している環境で発生する場合があります。

 

発生条件

 

  • DellのデスクトップPCに「ビデオカード」をオプションで追加している
  • PCとモニターを接続する際に、モニターケーブルを「ビデオカード」ではなく「マザーボード」のコネクターに接続している

 

 

「マザーボード」のコネクタから「ビデオカード」のコネクタに差し替えて、正常に起動することを確認しました。

 

dell_error

 

参考サイト

電源を入れると “Unsupported video configuration detected” というメッセージが表示され、Windowsが起動できない場合の対処方法
http://www.dell.com/support/article/us/en/19/SLN289599/JA

ソースコードをブログに載せる際に指定したCSSの覚書き

▶ in IT関連 posted 2016.03.18 Friday / 04:43

ExcelVBAのソースコードをそのままブログに埋め込もうとしたら困ったことが2点ほど。

 

  • 横に長いコードが途中で改行されてしまう
  • 行間が広すぎて見づらい

 

どうにかできないかなと調べてみたら、pre要素、CSSで簡単に指定できました。

 

pre要素へのスタイル指定

<pre>タグで、一定の高さ、幅を超えたらスクロールバーを表示させて、行間を狭くするCSSです。


このブログでは、下記のように指定しています。

 

pre {
  /* 最大高と最大幅 */
  max-height: 200em;
  max-width: 50em;
  /* 行間 */
  line-height: 70%;
  /* 領域をはみ出た場合にスクロールバー出現 */
  overflow: auto;
}

 

code要素と一緒に使う

<code>~</code>は、等幅フォントになります。
ソースコードのインデントや空白を、そのまま表示させるためpre要素と一緒に使用します。


<pre>
<code>
ここにソースコード
</code>
</pre>



表示サンプル




Private Sub 並び替え()

Dim sheetobj As Worksheet
Set sheetobj = ActiveWorkbook.Worksheets("WORK")

Application.ScreenUpdating = False

'優先順位「①○○○○」「②××××××」「③△△△△△△△」「④□□□□□□□」で昇順にソートする
With sheetobj
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A:A"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range("B:B"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range("K:K"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range("C:C"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End With
With ActiveWorkbook.Worksheets("WORK").Sort
.SetRange Range("A:K")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Application.ScreenUpdating = True

End Sub

Excelでカタカナをひらがなに一括変換する簡単な方法

▶ in Microsoft > その他 posted 2016.03.16 Wednesday / 05:22

Excelの関数を使って、セルの「カタカナ」を「ひらがな」に一括で変換する方法を聞かれることがあるので、手順をブログに載せておきます。

 

A列のカタカナをひらがなに変換する

 

↓は、Excel2010の画面キャプチャですが、他のバージョンでも同様の手順で変換できます。

 

  1. セルB1に「=PHONETIC(A1)」と入力し、式をコピーします。
    phonetic01

  2. A列のセルを選択し、ふりがなの表示/非表示ボタンの▼から「ふりがなの設定」を選択します。
    phonetic02

  3. [ふりがな]タブの種類から「ひらがな」を選択し、[OK]をクリックします。
    B列がひらがなになります。
    phonetic03

  4. B列のセルを選択し、右クリックから「コピー」を選択します。
    phonetic04

  5. C列のセルを選択し、右クリックから「形式を選択して貼り付け」を選択します。
    phonetic05

  6. [貼り付け]から「値」を選択し、[OK]ボタンをクリックします。
    phonetic06

  7. A列、B列を削除します。
    phonetic07

 

以上で終了です。

 

※同様の手順で、「ひらがな」から「カタカナ」に変換することもできます。

リモートデスクトップの有効化・無効化を簡単に切り替えるbatファイル

▶ in Microsoft > その他 posted 2016.03.15 Tuesday / 05:18

リモートデスクトップ接続の許可設定は、「システムのプロパティ」の[リモート]タブから切り替えます。

 

手動でもいいのですが、batファイルで簡単に切り替えることができます。

 

セキュリティを考慮して、通常はリモートデスクトップ接続を「許可しない」にしておき、必要な時だけ「許可する」ようにしたい!

 

という要望があったので、作成したbatファイルを公開しておきます。

 

リモートデスクトップ接続設定を変更するbatファイル

 

リモートデスクトップ接続の「許可する」「許可しない」の設定を簡単に切り替えるbatファイルです。

 

下記内容を拡張子「.bat」で保存して、[右クリック]-[管理者として実行]からbatファイルを実行します。

 

リモートデスクトップを許可する

-------------------------------------------

echo off
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d "0" /f
echo リモートデスクトップ接続を「許可する」に設定しました。
pause

-------------------------------------------

20160315_rdp01

20160315_rdp02

 

batファイル実行後、リモートデスクトップで接続可能となります。

 

リモートデスクトップを許可しない

-------------------------------------------
echo off
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d "1" /f
echo リモートデスクトップ接続を「許可しない」に設定しました。
pause
-------------------------------------------

20160315_rdp03

20160315_rdp04

 

batファイル実行後、リモートデスクトップで接続不可となります。


このbatファイルは、Windows10でも問題なく切り替えできることを確認済みです。

pingの実行結果をテキストファイルに保存する簡単な方法

▶ in Microsoft > その他 posted 2016.03.14 Monday / 06:12

pingは、ネットワーク疎通をするためのコマンドです。

(特に何もオプションを指定しない)デフォルトでは、パケットを4回送信すると終了します。

 

ネットワークが不安定だったり、通信が切断する場合など、ネットワークトラブルの切り分けのため、pingを繰り返し実行して確認することがあります。

 

その、繰り返し実行したpingの結果を簡単に保存できるbatファイルです。

 

pingの連続実行結果をファイルに保存するbatファイル

 

以下を、拡張子[.bat]で保存します。

IPアドレスを、ping送信先のアドレスに変更後拡張子[.bat]で保存する
-----------------------------------------------------
echo off
set ymd=%date:~-10,4%%date:~-5,2%%date:~-2,2%
set time2=%time: =0%
set hms=%time2:~0,2%%time2:~3,2%%time2:~6,2%

echo pingを繰り返し実行しています。
echo 停止する時は[Ctrl+C]を押してください。

ping -t IPアドレス >ping_result_%ymd%_%hms%.txt
-----------------------------------------------------

 

【例】IPアドレス192.168.15.1にpingを連続で実行する場合
-----------------------------------------------------
echo off
set ymd=%date:~-10,4%%date:~-5,2%%date:~-2,2%
set time2=%time: =0%
set hms=%time2:~0,2%%time2:~3,2%%time2:~6,2%

echo pingを繰り返し実行しています。
echo 停止する時は[Ctrl+C]を押してください。

ping -t 192.168.15.1 >ping_result_%ymd%_%hms%.txt
-----------------------------------------------------

 

bat実行すると、[Ctrl]+[C]を押下して停止するまでpingを繰り返します。
ping_01

 

実行結果は、batファイルと同じ階層に「ping_result_年月日_時分秒.txt」という名前で保存します。
ping_03

 

コマンドの操作に慣れていない人に、pingを連続実行してほしい場合などにも重宝します。

PAGE TOP