Logic Delight

明日のワシは忘れてしまうから、コードにはコメントを書くのです。

Excel VBA

選択範囲内の重複値をハイライトする

なんだかネストが深いしアルゴリズムも効率の悪い雰囲気満載ですが、疲れた頭ですぐ作るとこーなっちゃう。とりあえず動く気配がするので、ま、いっか。 ' 選択範囲内の重複値をハイライトする Sub HighlightDuplication() Const DUPLICATE_COLOR_INDEX As I…

シート名の一覧を作成する

開いているブックの全シートを列挙した「シート名一覧」を"ContentsList"というシート名で一番左側に新規追加する。その際、各シートのA1セルへのブック内ハイパーリンクも設定する。(.Hyperlinks.Add部分) ' シート名の一覧を作成する Sub CreateSheetNam…

Excelで動的な位置のセルの値を返す

ご挨拶と前置き 今年もよろしくお願いします。我が家の家計は、お手製のExcel家計簿によって支えられているのですが、毎年少しずつバージョンアップ(というか使い方の補正)が行われている年末年始。当初はVBAバリバリだったものが、結局は「大幅な改訂は年末…

フォルダ選択ダイアログ

使用頻度が高そうな関数を、ま、どこにでもありそうですが書いてみました。 パラメタ用の列挙型 用意しておくと、呼び出し側から指定ができて便利かも、と。 'シェル特殊フォルダ定数列挙 Public Enum ShellSpecialFolderConstants ssfALTSTARTUP = &H1D ssf…

ファイルを開くダイアログ

以下のようなフィルタ文字列を定義しておいて、 Const FILTER_STRING As String = "Excel ブック (*.xls),*.xls,CSVファイル (*.csv),*.csv,テキストファイル(*.txt),*.txt,すべてのファイル (*.*),*.*" ファイルを開くダイアログ(単一選択) Sub DispOpenF…

文字列の先頭と末尾に文字列を付加する

選択範囲の全てのセルを対象に処理しますぜ。 Sub AppendHeadTail() Dim head As String Dim tail As String Dim target As Range head = InputBox("先頭に付加する文字列を指定") tail = InputBox("末尾に付加する文字列を指定") For Each target In Select…