excel

Excelの共有機能は鬼門

一度、Excelの共有機能に懲りてからは、個人的にはこの機能だけは使っていなかったんだけれども。ちなみに、この共有機能は、あくまでもおまけ程度の機能で、いろいろと不具合が出るから使わないことを切に願う。 とはいえ、Excelに共有機能があるばかりにこ…

Excel 2002 でワークシート上のボタンが左に移動する

別件のトラブルで、Office XP SP3 をインストールしてもらったのだが、それがさらにトラブルを招くとは・・・。 Excelのマクロを割り当てたワークシート上のボタンがある処理をすると、左にずれ、全てのボタンが重なってしまうというトラブルが発生。 調べて…

Str関数とCstr関数

この2つは、目的は同じ、文字列型に変換することでも返す値は違うので注意が必要。StrとCstrの比較は以下の通り。 関数 動 作 変 換 後 の 文 字 列 ---------------------------------------------------------------------- Str 数値を文字列に変換 頭に符…

書式設定で土曜日・日曜日の色を変更する

土曜日は、「土」で青色、日曜日は、「日」で赤色、その他の曜日は、「月」、「火」、「水」、「木」、「金」で黒色で表示されるようにする。 例えば、B1のセルに「2007/9/11」という日付を入力し、B2のセルに曜日を表示させる場合は、以下の手順で作業をす…

列の非表示

合計行の値が「0」の場合にその列を非表示にするマクロ。 列数を26で割った整数値と剰余値をそれぞれアルファベットに置き換えることで対応。 注意すべき点は、末尾がAA以降で末尾が「Z」の場合の処理かな。 ' 最終列数取得 tp_end_col = Range("IV1").End(x…

他ブックのマクロを実行

Application.Run "ブック名!マクロ名" 記述自体は間違っていなかったのだが、何故か動かない。 原因は、ファイル名で、ファイル名のチルダをアンダーバーに変更することで対応した。

ファイル名検索

MS Officeで提供されているFileSearchオブジェクトを使用。 Sub FoundFiles() ' /*----------------------*/ ' ファイル名検索 ' /*----------------------*/ ' ' c:\hogehogeフォルダの中のExcelファイル(拡張子.xls)を検索し、見つ ' かった場合は、ファイ…

現在開いているExcelのPathを取得する

現在開いているExcelのPathを取得する場合は、下記のようにするといい。 ThisWorkbook.Path ただ気を付けないといけないのは、絶対パスとしてファイル名を指定する場合には、下記のようにしないといけない。 dim hogehoge as string hogehoge = ThisWorkbook…

メッセージを改行するには

文字列の後に、「+ Chr(13) + Chr(10)」を入力するだけでいい。 例えば、下記の例だと・・・。 "Hello," + Chr(13) + Chr(10) + "world"Hello, world という風になる。 ま、改行コードを加えてやっているだけなんだけどね。

LenB、LeftB、RightB、MidB

これらは、通常通りにやるとまともな値が返ってこない。 例えば、LenとLenBで「ABCDE」の結果を見るために、下記のように処理してみると・・・。 Len("ABCDE")LenB("ABCDE") Lenは、「5」を返し、LenBは、「10」を返す。Lenは、文字数を返すので「5」で問題…