VBA

数式の結果が更新されない問題の回避方法

セルの値が正しく表示されない問題「数式の結果が更新されない - チキン煮込みチーズミックス4辛」を書いたが、回避の方法を見つけた。 数式内で、次のようにシート名まで書くと、問題は起こらないようだ。理由は不明。 =concat(Sheet1!A2:A21) やっぱり無理…

Excelで列番号を英文字に変換する方法

「Excelで列番号を英文字に変換する方法 - チキン煮込みチーズミックス4辛」は間違っていた。Excelの列を表すアルファベットは、A〜Zを使った26進数表現ではない。具体的には、次のようになっている。 桁数 列番号(0ベース*1) アルファベット*2 場合の数 1…

数式の結果が更新されない

次のような引数で指定された範囲をカンマ区切りで連結して返す関数concatを準備しといて、この関数を複数シートで使って、ブックをxlsm形式で保存した。 concatを使うセルはA1でconcatの引数はA2:A21。各シートで位置は揃えている。 Option Explicit Functio…

Excelで列番号を英文字に変換する方法

http://support.microsoft.com/kb/833402/ja にあるけど、これってA〜Zを使った26進数表現だよね、たぶん。A〜Zを使った26進数表現だと思ってたけど違った*1。 (念のため魚拓: http://megalodon.jp/2014-0628-2058-19/support.microsoft.com/kb/833402/ja …

Function内部でHiddenプロパティが効かない件

次のようなコードを書いていた Function hidenUnusedColumn() As Integer Dim rangeStr As String rangeStr = 【非表示にする列の範囲を求める関数を実行】 Columns(rangeStr).Hidden = True hidenUnusedColumn = 0 End Function SubじゃなくてFunctionにし…

図形を拡張メタファイル形式で貼り付ける

Excelで図形(テキストボックス)を多用した書類を作っていざ印刷してみると、印刷結果の図形の大きさが編集の見た目と全然違って困った。 たくさんのテキストボックスを直線でつないで関係性を表すための図だったけど、テキストボックスの大きさが変わって…

久しぶりにVBA書いたよ

VBA

Option Explicit ' 文字長を指定して、乱数で適当な文字列を作成します Function get_unique_name(length As Integer) As String Dim offset As Integer Dim base As Integer base = Asc("a") Dim result As String result = "" ' 指定された文字列分だけ連…