管理人Kのひとりごと

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

Excel

Excelのリンクを解除できないときの対処法(データの入力規則で外部ファイルを参照していた)

Excelのリンクが解除できず、調べていたところ、データの入力規則で外部ファイルを参照しており、そのファイルが参照できずにリンク解除ができないことが判明しました。 解除方法は以下のページを参照したところ、無事解除できました。 office-hack.com

最近よく使うExcelのショートカットキー

最近よく使うExcelのショートカットキーのメモ 列全体を選択:Ctrl+Space 行全体を選択:Shift+Space フィルタを全解除:Alt→a→c オブジェクトの選択ダイアログ表示:Alt+F10 名前の管理:Alt→m→n

グラフの横軸ラベルを90度回転させる(ExcelVBA)

Excelのグラフの横軸ラベルを回転させたかった。応用が効きそう。 コード Option Explicit Sub 表の横軸ラベルを90度回転させる() Dim chartCount As Integer Dim i As Integer chartCount = ActiveSheet.ChartObjects.Count For i = 1 To chartCount ' 90で…

ExcelVBAで列番号→列名、列名→列番号変換

ExcelVBAで列番号→列名、列名→列番号変換する場面がありますが、毎度忘れてしまいます。 シンプルなやり方を見つけたのでメモです。 qiita.com

ExcelVBAをVSCodeで編集できるXVBAについて

ExcelVBAのエディタはいつまでたっても今一つ...VSCodeで編集したいなーと思って探していたらありました、「XVBA」です。 詳細は以下記事をご参照ください。記事の通り設定したらVSCodeで編集できるようになりました。 しかしながら、入力補完まではXVBAでは…

Fitbit APIを叩いて2019年と2020年の睡眠時間を比べてみた

昨日やったFitbitAPI叩こうシリーズ第2弾。睡眠時間編です。 www.k-hitorigoto.online 確認環境 睡眠時間JSONの取得 JSON→CSVに変換 Excelでグラフ描画 参考にしました

Fitbit APIを叩いて2019年と2020年の歩数を比べてみた

2020年はコロナで在宅勤務中心となり、歩くことが減りましたね。 常に身に着けているFitbitのデータを使って2019年と2020年の歩数を比べてみました。 確認環境 歩数JSONの取得 JSON→CSVに変換 Excelでグラフ描画 参考にしました

数値の桁数を求める方法2つ

Excelで数値の桁数を求める方法2つ。 実行環境 方法1 lenを使う 方法2 LOG10を使う 結果確認

ExcelVBAで連想配列を使って、キーをソートして出力する

ExcelVBAで、連想配列を使って、キーをソートして出力したかったのでメモです。 Dictionaryだけではキーのソートを行うことはできず、ひと手間必要でした。 実行環境 対象データ ソースコード 参考にしました

ExcelVBAでシートの内容をUTF-8,LFのCSVファイルに出力したい

ExcelVBAで、シートの内容をUTF-8,LFのCSVファイルに書き出したかったのでメモです。 UTF-8の場合は、ADODBを使う必要があるそうです。 また、BOMなしのUTF-8とする場合にはひと手間必要でした。関連↓ www.k-hitorigoto.online 実行環境 ソースコード 参考に…

ExcelVBAでCRLF,UTF-8のTSVファイルを読み込みたい

ExcelVBAでCRLF,UTF-8のTSVファイルを読み込みたいということがあったのでメモです。 UTF-8の場合は、ADODBを使う必要があるそうです。 実行環境 ソースコード 参考にしました

2つのキーでVLOOKUPしたい(Excel)

2つのキーを使ってVLOOKUPしたかったので調べたメモ。 こんなことがやりたかった 対応策 参考にしました

ExcelVBAでよく使う図形を一発で描画する

ExcelVBAで個人的によく使う図形(赤枠、矩形、吹き出し)を一発で描画します。 実行環境 ソースコード 実行結果

Excelブックの各シートをCSV出力してみる

Excelブックの各シートをCSV出力することがあったので、楽できないかと思って取り組んだメモ 検証環境 コード 実行例 補足 参考にしました

ExcelVBAで改ページ変動を検知したい

Excelで難しいのが、環境差異等により生じる改ページ変動(想定している改ページ通りに印刷されない状況) これを検出する方法はないもんかとやってみた。まだ課題はあるものの、メモっておく メモ 実行例

ExcelVBAでグループごとの縦→横変換をする(ExcelVBA)

Excelでグループごとに縦横変換したい、ということがあったのでメモ。 グループごとの縦横変換とは すでに答えはあった 少しアレンジ

書式変更を一括適用する(Excel)

Excelでセルの書式を数値⇒文字列にしたい時があるじゃないですか。 書式のプルダウンで選択しても、実際はセルを編集状態にして、確定をしないと適用されません。 1つ、2つなら良いですが、10件以上となると...つらい。というわけで、一括適用する方法を記録…

INDEX+MATCHでVLOOKUPの不満を解消(Excel)

Excelで、キー列の値に対応する値を引っ張ってくるときはVLOOKUPが使える、というのは知っていたけれど、 どうやら、INDEX+MATCHの方が使い勝手が良さそうなので、自分用に記録。 VLOOKUPで困ること そこで、INDEX+MATCH

個人用マクロブックにモジュールをインポートする(ExcelVBA)

こないだの、個人用マクロブックのモジュールをエクスポートする奴のついになる奴です。 エクスポートする奴はコチラ☟ コードを動かすときのポイント さて、コードです まとめ

個人用マクロブック内のモジュールをエクスポートする(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に似た関数ないんですね... というわけで、なんとか頑張ってみました。そして、そいつを使ってフルパスから拡張子を取得してみました。 # 「A1」セルの内容から、拡張子(最後の「.」より右側の文字列)を取得する式です =RIGH…

セルの書式設定で日付を曜日に変換する「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…