読者です 読者をやめる 読者になる 読者になる

管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

Excel

個人用マクロブック内のモジュールをエクスポートする(ExcelVBA)

個人用マクロブックに保存している各種モジュールをエクスポートして、別の端末とも共有したいなと思ったので書いてみた。 コードを動かすときのポイント さて、コードです

【改訂版】「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」設定画面を開くためのマクロを作ってみました

前回☟のもの、Office2013同士でも、また、Office2016では挙動が異なることが判明。 オプション画面を開いたとき、左ペインにフォーカスがあるため、そのまま下へ移動するよう修正しました。 Office2013でも、Office2016でも動いていました。

【訂正版あります】「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」設定画面を開くためのマクロを作ってみました

Excel2003くらいからですかね、VBAProjectオブジェクトへアクセスする際、「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」にチェックが入っていないといけなくなったじゃないですか。 普段からチェック入れたまま、というのもアレですし、…

可視シート名を列挙する(ExcelVBA)

Excelで、アクティブブックの可視シート名を列挙する方法。結構使うけど忘れがちなのでメモ。 Option Explicit Sub 可視シート名を列挙する() Dim sheetCnt As Integer Dim i As Integer Dim tmpSheet As Worksheet sheetCnt = ActiveWorkbook.Worksheets.Co…

Excel2003迄の印刷ダイアログを開く(Excel)

Excel2007あたりから、印刷ダイアログが変わり、特定シートのみの印刷や、ブック全体指定のショートカットキーが煩雑になりました。 そこで、ExcelVBAを使い、旧来の印刷ダイアログを出せるようにしたいと思います。 下記サブルーチンを「Ctrl-P」に割り当て…

ワークシート関数でlastIndexOfする(Excel)

ワークシート関数にはlastIndexOfに似た関数ないんですね... というわけで、なんとか頑張ってみました。そして、そいつを使ってフルパスから拡張子を取得してみました。 =RIGHT(A1,LEN(A1)-FIND("$",SUBSTITUTE(A1,".","$",LEN(A1)-LEN(SUBSTITUTE(A1,".",""…

セルの書式設定で日付を曜日に変換する「aaa,aaaa」(Excel)

Excelのセルの書式設定で、日付から曜日にする方法を忘れてしまうので、ここに記録する。 aaa ⇒水 aaaa ⇒水曜日

ExcelファイルをPDF化する(ExcelVBA編)

Excel2007以降なら、VBAでPDF化できるようですね。 そんなわけで書いてみました。変換元Excelファイルと同じ場所にPDFが格納されます。 表示されたシート、印刷範囲が適用され、全シートが1PDFファイルになります。 https://msdn.microsoft.com/ja-jp/librar…

末尾が"/"(スラッシュ)で終わるかどうか判定する(Excel)

\掲題の通り、Excelで末尾が"/"(スラッシュ)で終わるかどうか判定する方法。 たまにこういうのが必要になるので... =EXACT(IFERROR(FIND("/",A1,LEN(A1)),0),LEN(A1)) 実行例はこんな感じ 対象 True/False a/ TRUE a/b FALSE a/b/ TRUE a/b/c FALSE

最下行アドレスを取得する(ExcelVBA)

カレントセルの列の、最下行アドレス(値の入力された最下行のアドレス)を取得する。 Option Explicit Sub カレントセル列の最後尾アドレスを取得する() Dim currentRange As Range Dim maxRowNum As Integer Dim tmpColumnName As String Dim columnName As …

任意の複数のExcelブックのセルの値を取得する(ExcelVBA)

掲題の通り、任意の複数のExcelブックのセルの値を取得する方法。 「の」が多いな。 Sub ボタン1_Click() Dim fileNames As Variant Dim fileName As Variant Dim tmpSheet As Worksheet fileNames = Application.GetOpenFilename(MultiSelect:=True) If IsA…

全シートA1セルを選択する(ExcelVBA)

掲題の通り、全シートA1セルを選択するExcelVBAコード。 非表示シートがあるとアレですが、まぁ。 最後1シート目に移るのは好みです、はい。 Sub 全シートA1選択() Dim loopCount As Integer Dim sheetCount As Integer Dim tmpSheet As Worksheet sheetCoun…

2値の一致チェック(Exact,If)(Excel)

2つのセルの値を比較して一致か否かを調べる方法を忘れがちなので記録。 =Exact(A1,B1) ' True,Falseでなく○×で見たいとき... =If(A1=B1,"○","×") それぞれの実行結果は以下の通り A B Exact If a a TRUE ○ a b FALSE × a c FALSE × b a FALSE × b b TRUE ○ …

F1キーでヘルプを立ち上げない(ExcelVBA)

最近家PCにExcelを入れまして。 まずやることといえば、F1キーでヘルプを立ち上がらなくさせる、でしょう! セル編集のためにF2キーを押そうとして、ミスタッチでF1キーを押してしまったとき「あっ...」を防止したいじゃないですか... ということで、思い立っ…