にっきダイアリー

はてなダイアリーからはてなblogに移動してみました。

Excel

Excelマクロのメモ

「月/日」なデータをExcelシートに入力したら勝手に「今年/月/日」になって困ったことはありませんか。私はあります。 一つ2つなら手で治すんですが3000件位あるデータの中のあちこちにそういうのがあって一つ一つ潰してくのが嫌だったのでマクロ書いてまし…

Excel VBA でカタカナを全角に、英数字&記号を半角にするマクロ

半角カナと全角英数字のない世界に行きたい。 ' アクティブシートの選択しているセルを含む範囲内の半角カナを全角に、全角英数字を半角にする ' マクロの参照設定に "Microsoft VBScript Regular Expressions 5.5" を追加する Sub han2zenkana() Dim r As L…

Excel VBA 小ネタマクロ

例によって仕事中に現実逃避で作ったマクロを日記へメモっておこうと思ったら、久しぶりすぎてはてな記法忘れてる私です、こんにちは。 指定の列のデータを複数の列に振り分けるマクロ 説明が面倒くさいんでビフォーアフターを画像で貼り付けます。これが、…

列名変換

久々にExcelでマクロ組んでいて列名を数字に変換しないといけない部分が出てきた。そういえば、ずいぶん前のはてブにExcelの列名変換をお題にプログラミングコンテストをして〜というエントリが上がってて、自分でもやってみようとVBAで作ってみた記憶があっ…

VBAで計算する春分の日と秋分の日

Wikipediaの春分の日と秋分の日のページにあった簡易計算をそのままVBAにしただけ。 ' 春分の日 (1900-2099) Function Speq(Optional year As Integer = 0) As Integer Dim my As Integer ' 年の指定がないときは今年で計算 If y = 0 Then y = Int(Format(Da…

小ネタマクロ修正

随分前に作った、rowとcolumnを数字で指定するとA1形式の文字列にするマクロ(d:id:Nikki_A:20100728)が27列目以降に対応してない事に今更ながら気がついて修正。 ……普段いかに幅の狭い世界で生きてるかが露見してしまったw

行と列を数値で指定すると"A1:B2"みたいな文字列を返すVBA関数

例によって、ものすごく簡単だけど毎回類似コード書いてるのがばかばかしくなった断片をコピペ。 '----------------------------------------------------------------------- ' RangeStr ' 行と列を数値で指定すると"A1:B2"みたいな文字列を返すVBA関数 ' '…

Excel2007でオブジェクトを含むセル範囲をコピーしたとき、コピー先のセルサイズによってオブジェクトのサイズが変化してしまう問題の解決

昨日の自分へ。挿入でも駄目でした^^ 解決策は二つ。 その1 範囲をセル単位でなく、行・列単位で指定してコピーペーストするとコピー先のセルの幅や高さもコピー元に合わせてくれるからか、オブジェクトのサイズが変わらない。 その2 真横や真下以外の場…

Excel2007上でオブジェクトをコピーする時の問題

半日悩んでるが解決方法が見つからないので、とりあえず現状だけメモっておく。 Excel2007で、ワークシート上にあるオブジェクトを周辺のセルを含めて複製するVBAマクロを組んで実行したところ、オブジェクトのプロパティを「セルに合わせて移動するがサイズ…

センチメートル単位で Excel のセル幅を指定する - 2006/04/12

追記(2016/12/27) Excel2016あたりから、新規でブックを作ると標準スタイルのフォントが游ゴシックになってまして、案の定、下記マクロ&関数で算出した数値が食い違うようになりました。それに気がついたのが9月頃の話なんですが……ていうか、これまで私は…