2020-04-01から1ヶ月間の記事一覧

フォルダーのショートカットを、リンク先のフォルダーに置き換える

100個以上ある「フォルダーのショートカット」を、リンク先のフォルダーと 置き換えたい。そんな事案が発生した。さて、どうしたものか。 やりたいことを言葉で書いてみると、こんな感じか。 リンク先のパスを取得する。 1. を、ショートカットファイルの…

ピボットテーブルの行の列(RowRangeプロパティ)

今日は、職場で受けた相談をアレンジして紹介。 いつもの「なんちゃって個人情報」で、A列を「グループNo.」に変更した。 今回は無作為に、1~5でグループ分け。 このテーブルを用いて、ピボットテーブルを作成。 このたび受けた相談は、マクロでグループ…

データの入力規則:リストをキーワードに併せて変更

週末に職場で、このような課題に直面した。 あるキーワードに併せて、データの入力規則:リストを変更したい。 いつもの「なんちゃって個人情報」を、今回も拝借。 例えば「茨城県」の「名前」を選択したとき、左の表から茨城県の戸塚さんと飯田さんをリスト…

表の整形

↓ このようなクイズがあったので、挑戦してみた。 上の表のコードについて、「/」で区切られたものを、 各々別の列に転記するというもの。 恐らく世界中のオフィスで、似たような問題に悩んでい方々が居るに違いない。 今回の作戦は、こんな感じだ。 新たな…

色を指定したら、その色が使われていないセルも返せる関数

昨日は、こんなものを作ってみた。 infoment.hatenablog.com作ってみて、思った。このままでは 「とにかく色が付いているセル」 のような選び方ができないぞ。さて、どうしたものか。 ということで、PCの前で悩むこと5分。思いついたのがこれ。 色を指定…

色を指定したら、その色が使われているセルを返す関数

昨日、こんなものを作ってみた。 infoment.hatenablog.comそれでは恒例の、何とかの一つ覚え。これをクラスモジュールで実現してみる。 下ごしらえとして、以下を考えてみた。 指定範囲の色情報を、二次元配列で持つ。特に指定が無い場合、シート内で使用す…

指定色を探してセルを選択

先日職場で、こんな相談を受けた。 特定の色のセルを選択したいのだけど、どうすれば良い? そこで今回、まずこんなものを考えてみた。 例えば ↓ こんな感じで、黄色と赤で塗り潰されたセルがある。 このうち、黄色のセルだけを選択してみよう。 Sub Hoge() …

マクロで処理中に、Excelで別の作業をする方法

マクロで行う処理に、結構な時間が掛かる場合がある。 例えば、 システムにデータをリクエスト CSVで吐き出されたそれを処理 名前をつけて保存 を連続で100回行う場合などは、それなりに時間が掛かる。ところが今日、そんな中でもExcelで別の作業を行う方法…

文字をプルプル

いつもお世話になっている ↓ こちらから丸パクリして着想を得て、 www.excel-chunchun.comこんなものを作ってみた。 Sub 文字をプルプル() Dim i As Long Selection.Orientation = 1 Selection = "計算中だよ^^" For i = 1 To 100 Selection.Orientation =…

MsgBoxの戻り値を受け取る

今日会社で、MsgBox(メッセージボックス)について問い合わせを受けた。 何某かの参考書(入門書)を見たらしく、このようなコードになっていた。 Sub Test() Dim 回答 As Integer 回答 = MsgBox("○○しますか?", vbYesNo) If 回答 = 6 Then ' Yesの場合の…

省略可能な引数の初期値

たまに、省略可能な引数の初期値を空っぽにすることがある。 ↓ こんな感じで。 Sub Test(Optional myDate As Date = Empty) If myDate = Empty Then myDate = Date End If Debug.Print myDate End Sub 日付の指定があった場合は、その日付に。 指定の日付が…

スライサーを戻り値とする関数でタイムラインも作成

昨日は、テーブルでスライサーを作成する関数について、ピボットテーブルからも作れるようにしてみた。 infoment.hatenablog.com今日は、昨日の続きから。 スライサーを追加して思った。ついでに、タイムラインも追加したい。 調べてみると、スライサー作成…

引数の型が二つあるときは、仕方がないからバリアントで。

先日、テーブルのスライサーを作成する関数を作成してみた。 infoment.hatenablog.comテーブルで作るなら、ピボットテーブルでも作れるようにしたい。 先日のコードがこちら。 Function AddedSlicer(source_table As ListObject, _ target_label As String, …

当月の初日と最終日

久しぶりにExcel VBAで、当月の初日と最終日を求める場面があった。 初日を求めるとき、昔はこんな風に書いていた。 Function FirstDay(source_date As Date) As Date FirstDay = DateSerial(Year(source_date), Month(source_date), 1) End Function この記…

手探りでマクロ作成

私の場合、日々、Excel マクロの作成は手探りだ。 立て板に水の如くコードが書けると良いのだが、なかなか上手くはいかない。 自分の知らない機能を自動化に組み込むときは、特にそう。 例えば、いつもの「なんちゃって個人情報」。 このテーブルに、県名で…

1/6に収束

今日はお遊びで、サイコロを振ってみよう。 サイコロを振った際、任意の目が出る確率は全て「1/6」だ。 ※各目の掘り具合で、サイコロの重心が微妙にずれるという点は、 今回不問とする。しかし5回や10回振っても、実際の出目の割合は1/6にならない。 たく…

別ブックのマクロを実行したときの結果

先日Excelで、別ブックにあるマクロを実行したときの出来事。 その時の状況は、以下のとおり。 Book1のHOGEから、Book2のFUGAを実行 FUGAがエラー終了 Sub HOGE() Application.Run "BOOK2!FUGA" End Sub Sub FUGA() Range("A1") = "ふが" End Sub HOGE側はFU…

マクロの記録の限界

職場で、Excelマクロの問い合わせを受けた。 それで回答しながら思ったのだが、やはりマクロの記録には壁(限界)がある。 今回受けた問い合わせは、シートのコピーについて。 質問者から、マクロの記録で作成したコードの解説を依頼された。記録時点では、↓…