スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

【Excel VBA】ListBox、ListViewで各項目ごとに色を変える方法(その2)

その1からの続き

★「ListView」を利用したサンプルコード。


例題)
 ワークシートに設定したフォントカラーをリストビューの各項目にも同じカラーを設定して表示したい。


20141020-010.png


まず、ユーザーフォームの「UserForm1」を追加し、その上にリストビューの「ListView1」を追加した"フォーム"を作成する。

20141020-007.png

この状態で標準モジュールに以下のコードを入力。


Sub ShowListView()
  Dim rng   As Range
  Dim i    As Long
  Dim j    As Long

  Set rng = ActiveSheet.Cells(1, 1).CurrentRegion

  With UserForm1.ListView1

    '初期化
    .View = lvwReport      '外観表示指定
    .LabelEdit = lvwManual   '左端項目の編集設定
    .HideSelection = False   'フォーカス移動時の選択解除設定
    .AllowColumnReorder = True '列幅の変更有無
    .FullRowSelect = True    '行全体を選択有無
    .Gridlines = True      'グリッド線表示有無

    '列見出し
    For j = 1 To rng.Columns.Count
      .ColumnHeaders.Add , , rng(1, j).Value
    Next

    'データの登録
    For i = 2 To rng.Rows.Count
      .ListItems.Add.Text = rng(i, 1).Value
      For j = 2 To rng.Columns.Count
        .ListItems(i - 1).SubItems(j - 1) = rng(i, j).Value
        .ListItems(i - 1).ListSubItems(j - 1).ForeColor _
          = rng(i, j).Font.Color
      Next
    Next
  End With

  UserForm1.Show
End Sub


実行するとユーザーフォームが表示され、セルに設定された各項目のフォントカラーが反映されているのが確認できる。
20141020-008.png


●ポイント
・表データの一番左項目は"ListItems()"、二番目以降は"ListItems().SubItems()"で表す。
20141020-009.png

・"ForeColor"で文字色を変更する。"ForeColor"プロパティは"SubItems"ではなく、"ListSubItems"に存在する。

●注意点
WndowsUpdateを定期的に行っているとエラー表示が出るようになる場合が過去にあったようです。
ListViewを使用したエクセルを配布する場合は要注意。
[ 2014/10/20 18:04 ] その他 | TB(0) | CM(0)

【Excel VBA】ListBox、ListViewで各項目ごとに色を変える方法(その1)

ユーザーフォームのListViewで各項目の文字色を設定する備忘録。

20141020-001.png


ユーザーフォームのListBoxで各項目に色分けをしようとすると難しい。

しかし、「ListView」を使用すると割と簡単に実現できる。

※ちなみに64bit版Excelでは「ListView」を使用できないようです。

「ListView」は初期の段階では使用できないので、まずは使用できるように準備が必要。
以下、準備手順。

1. エクセルを起動し、VBE(Alt + F11)を起動する。
 挿入 > ユーザーフォーム でユーザーフォームを挿入する。

2. 挿入したユーザーフォームを選択した状態で「ツールボックス」が表示されていない場合、表示 > ツールボックス から「ツールボックス」を表示しておく。

3. 「ツールボックス」の適当なところで右クリックを押し、「その他のコントロール」を選択する。
20141020-002.png

4. "コントロールの追加"画面で"Microsoft ListView Control, version 6.0"を選択し、「OK」ボタンを押す。
20141020-003.png

5. すると「ツールボックス」に「ListView」アイテムの項目が増える。
 ここを押すと「ListView」を追加できるようになった。
20141020-004.png


しかし、「ListView」を追加しようとすると"ライブラリは登録されていません。"と表示され、追加できない場合がある。
20141020-005.png


この場合は更に以下の手順を追加で行う必要がある。

0. 念のため
C:\Widnows\SysWOW64 フォルダに存在する
「mscomctl.ocx」ファイルをバックアップ。

1. C:\Program Files\Microsoft Office 15\root\vfs\SystemX86
フォルダ内に存在する
「MSCOMCTL.OCX」ファイルをコピーし、
C:\Widnows\SysWOW64 フォルダ内に貼り付ける。
(上記はExcel2013の場合。それ以外のバージョンだと"~\Microsoft Office 15\"の部分が違う)

2. "管理者"としてコマンドプロンプトを開き、
regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX
コマンドを実行する。

3. 「~の DllRegisterServer は成功しました。」
と表示されれば登録成功。
20141020-006.png


これでめでたく使用できるようになる。


その2へ続く
[ 2014/10/20 17:57 ] その他 | TB(0) | CM(0)

【エクセル】COUNTIFS関数でOR条件個数を集計する方法

OR条件のデータ個数集計の備忘録。

まず、AND条件の集計について。
hyou001.png

AND条件であればCOUNTIFS関数で簡単にデータ個数を集計できる。
例えば上の表データに対し、以下の条件で抽出する場合はこのようになる。


抽出条件:
  "男" 且つ "40歳より上" 且つ "東京都" 
式:
  =COUNTIFS(B2:B11,"男",C2:C11,">40",D2:D11,"東京都") 



これをAND条件(=且つ)ではなく、OR条件(=或いは)でデータ個数の集計を行うにはどうすれば良いか?

結論から言うと「COUNTIFS関数」では実現できない。

だが、「SUMPRODUCT関数」を使用することで集計が可能。

具体的には以下の通り。


抽出条件:
  "男" 或いは "40歳より上" 或いは "東京都" 

式:
  =SUMPRODUCT((((B2:B11="男")+(C2:C11>40)+(D2:D11="東京都"))>=1)*1)



●ポイント
 ・ 論理値(TRUE / FALSE)は演算("*"や"+"等)で数値に変換できる
 ・ 論理値の「数値」は TRUE -> 1、FALSE -> 0
 ・ 論理積は"*"(掛け算)、論理和は"+"(足し算)で計算できる


理屈は以下を参照。

rikutsu002.png
[ 2014/10/17 08:17 ] その他 | TB(0) | CM(0)

Unityでゲームを作ってみた

今年になってゲーム開発エンジンUnityなるものを知った。

始めは良く判らずとりあえず本屋で見つけたUnity関連の本を一冊買って読んでみたのだが、気づけばすっかりハマってUnity関連の書籍を買い漁り、しかも一本ゲームを仕上げて投稿している状態になっていました。

あ、ちなみに作ったゲームはWeb上で遊べるので良かったら遊んでみて下さい。

うさんこ&うんねこ シューティングゲーム!

シロウトの自分がゲームを作って、友達とかに遊んで貰えてるという状況はかなり嬉しい。

だから是非みなさんもUnityでゲーム開発をオススメ!

と、簡単に勧めたいところですが関連書籍には割と載っていない、つまずき易いところや、気づいたことなどを備忘録。

・Unityのインストールは割と簡単だが、付属の”MonoDevelop”という開発環境でScript(コード)を書くのはキツい(ソフトの起動が重い上にMac版は日本語入力ができない)。

・個人的にオススメなScript(コード)を書くエディタの組み合わせ以下の通り。
OS:Mac   言語:C#      →  XamarinStudio
OS:Mac   言語:JavaScript →  SublimeText
OS:Windows 言語:C#      →  VisualStudio
OS:Windows 言語:JavaScript →  VisualStudio
(エディタの変更: Unity > Preferences > External Tools > External Script Editor)

・最終的にiOSでもアプリを発表したいなら、結局はMac上で開発するのが楽。
 (Mac→Android用にビルドはできるが、Windows→iOS用にビルドはできない)

・UnityにはAssetStoreという、ゲーム作りに必要なパーツ(グラフィック、サウンド等)が手に入る便利なサイトがあるが、有料Assetを購入するにはVISAかMasterのクレジットカードか、PayPal口座が必要。
※JCBは使用できない
[ 2014/07/28 22:33 ] その他 | TB(0) | CM(0)

Visual StudioでJavaScript(初心者用)(3)

「エラー一覧」の表示にエラー表示がないコードが書きあがったら、忘れずに「保存」をし、その後F5キー等で動作確認(デバッグ)。

以下、最低これだけは知っておきたい機能。

・ブレークポイント
実行中コードを一旦停止させたいポイントの設定。止めたいコードを選択してF9キーか、コード左端の壁をマウスクリックで赤丸が表示される。この状態でデバッグを実行すると設定したポイントでプログラム実行が停止する。
vs015.png


・ステップイン(F11キー)とステップオーバー(F10キー)
ステップインもステップオーバーも1行単位の実行。違いは関数呼び出しの処理方法で関数が含まれた場合、ステップインは関数の中に入り、ステップオーバーは中に入らないといった違いがある。
vs016.png


・ウォッチ式の追加
中断モード時(ブレークポイントを設定してプログラムが停止している状態)で変数を選択し、右クリックで「ウォッチ式の追加」を選択すると"ウォッチ"ウインドに変数が表示され、その情報を覗くことができる。
単に値だけ知りたい場合は変数にマウスを載せると小さいウインドが表示されて値が確認できる。
vs017.jpg

vs018.jpg



他にも知っておいた方が便利な機能があると思うが、これだけ押さえておけばとりあえずデバッグ作業はできると思います。ちなみにデバッグの終了は デバッグ>デバッグの停止(Shift+F5)で止まる。


●その他

・「エラー一覧」にエラーがないのに、デバッグが失敗する!
jsファイルとhtmlファイルを分けている場合、htmlファイルを表示してデバッグを始めないと失敗する。
毎回htmlファイルを選択するのが面倒くさい場合はソリューションエクスプローラー内のhtmlファイルを選択し、右クリックして「スタートページに設定」を選択すれば良い。
vs019.png

vs020.png

vs021.png
[ 2014/04/20 22:29 ] その他 | TB(0) | CM(0)
プロフィール

いけぢー

Author:いけぢー
備忘録がメインです。
あとは思いついた内容など。

カレンダー
03 | 2018/04 | 05
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -
アクセスカウンター
押さないでください


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。