2019-01-01から1年間の記事一覧

フィルをマクロで操作し、カレンダーを作成(昨日の微修正)

昨日は、フィルをマクロで操作して、即席カレンダーを作成してみた。 infoment.hatenablog.comこのテーマは昨日で終わりと思っていたが、よく見てみると、このカレンダーには曜日の表示が無い。 このままでは、2019年を終われない。昨日の微修正を行うことに…

フィルをマクロで操作し、その戻り値をRangeとする関数 ~ 補足 ~

昨日は、フィルをマクロで操作したうえで、その戻り値をRangeとする関数について微調整を行い、即席カレンダーを作成してみた。 infoment.hatenablog.com今日は、この件について一点補足する。 昨日、カレンダーを作成する際に、まず7日間隔で5行1列のデ…

フィルをマクロで操作し、その戻り値をRangeとする関数(日付対応)

先日からフィルをマクロで操作したうえで、その戻り値をRangeとする 関数の作成を試みている。 infoment.hatenablog.com今日は、日付対応に取り組んでみる。 先日作成した際、何も考えずに停止値の型を「Long」(長整数型)にした。しかし考えてみると、これ…

フィルをマクロで操作し、その戻り値をRangeとする関数(データ予測への対応)

昨日は、フィルをマクロで操作し、その戻り値をRangeとする関数を作成してみた。 infoment.hatenablog.comしかしこの関数、現時点でまだ幾つか問題を抱えており未完成。そこで、この解決に取り組んでみる。 まずおさらいとして、前回の関数を再掲する。 Func…

フィルをマクロで操作し、その戻り値をRangeとする関数

先日は、フィルをマクロで操作してみた。 infoment.hatenablog.comでも、これだけだと面白くない。そこで、作成した連続データ範囲を戻り値とする関数にしてみた。 このために必要な情報は、 初期値+増分値のn倍が、停止値となっていない場合 の振る舞いに…

フィルをマクロで操作してみる

先日職場で、こんな操作ができることを教わった。 1.A1に「1」と入力する。 2.連続データの作成を選択。 3.列方向に停止値20を設定し、OKを押す。 4.連続データが作成される。 知らなかった。これは便利だ。折角なので、マクロの記録で見てみる。 Su…

触媒とVBA

触媒とVBA(で作成したツール)には、似ている部分があると思う。 以下、触媒に関する内容は、全てWikipediaからの引用。 ja.wikipedia.org 触媒とは一般に、特定の化学反応の反応速度を速める物質で、自身は反応の前後で変化しないものをいう VBAとは一…

特殊解・一般解とVBA

先日息子(中2)から、数学の質問を受けた。 設問は、以下のような内容だった。 三角形ABCの∠BACを等分する、線分ADを引く。 ∠ACBの外角を等分する、線分CDを引く。 ∠ABCをα、∠ADCをβとするとき、αとβの関係を求めよ。 以下を知っていれ…

円弧を伸ばしたり縮めたりしてみた

ふと思いついて、円弧を伸ばしたり縮めたりしてみた。 Sub Test() Dim Arc As Excel.Shape Set Arc = ActiveSheet.Shapes.AddShape(msoShapeArc, 200, 100, 80, 80) Dim i As Long For i = 0 To 1800 Arc.Adjustments.Item(2) = -i * 2 Application.Wait [No…

テーブルのデータを消すときの注意点(失敗談)

テーブルのデータを消そうとして、失敗した時のお話。 先日から登場している、このテーブルを例に説明する。 このデータを綺麗に消したい時、一番手っ取り早いのは、例えばこんなやり方だ。 Sub test() ActiveSheet.ListObjects(1).DataBodyRange.Delete End…

セル内改行で作成されたリストを力業でテーブル化して、さらに元に戻す

先日は、セル内改行で作成されたリストを力業でテーブル化してみた。 infoment.hatenablog.com今日は、その逆を行ってみる。 昨日は、↓ これを マクロで ↓ このように成形した。 結構な大仕掛けだった。今回はその逆を、本来の使い方ではないが、ピボットテ…

セル内改行で作成されたリストを、力業でテーブル化

先日他部署から、このようなリストが回ってきた。 実物は載せられないので、雰囲気だけ再現。 なお詳細区分のセルは、一つのセル内で改行して記載されている。これを更に別の表と突き合わせて、対照表を作成する必要がある。 とてもとても、遣り難い。という…

複数のシートからデータを集約して一覧表に転記 の別解

今から一年以上前に、このような記事を紹介した。infoment.hatenablog.com時は流れ、私はこの本を手にした。いちばんやさしいExcelピボットテーブルの教本 人気講師が教えるデータ集計 が一瞬で終わる方法 (「いちばんやさしい教本」シリーズ)作者:羽毛田睦…

宣言と同時にNewでは、Initializeは働かない(失敗談)

とあるクラスモジュール(Class1)を作成した。 エッセンスだけ書くと、こんな感じだ。 Private Sub Class_Initialize() MsgBox "!" End Sub そして標準モジュールにおいて、つい鈍らして、宣言と同時にNewしてしまった。 Sub test() Dim Class As New VBAPr…

数独(再挑戦)⑧ 必殺の一マスを見える化。そして総まとめ。

昨日は数独の解法において行き詰まり、禁断の「総当たり」に手を出した。 infoment.hatenablog.com 私の脳では、これが精いっぱい。 あれこれ試したところ、現時点でのマクロでも正解に辿り着けない問題があった。完璧には、まだまだ届かぬようで。そこで今…

数独(再挑戦)⑦ 禁断の総当たり

前回は、行・列および3×3の範囲に候補となる数が一つしかないなら、その数で確定させてみた。 infoment.hatenablog.com今日はいよいよ、禁断の「総当たり」に挑戦する。 出来れば、最後の最後まで論理的に解きたかった。しかしこれ以上は、マクロが複雑に…

数独(再挑戦)⑥ 一つしかないなら、それで確定(の続き)

昨日は、行内に一つしかない数字があったならば、その数字でセルを確定させることに挑戦した。 infoment.hatenablog.com昨日は「行」を作成したところで時間切れ。今日は残りに挑戦する。 単純に1行ないし1列抜き出して調べるのは、あまり難しくない。しか…

数独(再挑戦)⑥ 一つしかないなら、それで確定

昨日は計算過程を一巡する毎に答えを張り付けて、途中経過を見える化してみた。 infoment.hatenablog.com今日は、現時点で解ききれない問題について考えてみる。 探してみると、こちらの問題を解き切れなかった。 それでは、この中身を見てみよう。 すると、…

数独(再挑戦)⑤ 計算の途中結果を見える化(寄り道)

昨日は、数独の計算結果をセルに戻すことに挑戦した。 infoment.hatenablog.comすると、一回ずつ貼り付けて経過を見てみるという案を、コメントでいただいた(いつも有難うございます)。そこで、今回はちょっと寄り道。計算の途中結果を見える化してみよう…

数独(再挑戦)④ 27×27を9×9に戻す

昨日は、数独を解くマクロに於いて、確定マスの情報を行と列全体に反映させてみた。 infoment.hatenablog.com今日は、その結果を9×9に戻して、シートに貼り付けてみる。 実は昨日、「行と列全体」と言いつつ、一部しか反映していない。 行全体 済 列全体 …

数独(再挑戦)③ 確定マスの情報を、行と列全体に反映させる

昨日は数独の出題を、27×27の配列に反映してみた。 infoment.hatenablog.com今日は、確定マスの情報を、行と列全体に反映させてみる。 例えば下記のように、黄色のマスが「3」で確定している場合。 このとき、同じ行にある「緑で塗りつぶされた3」は、…

数独(再挑戦)② 確定マスの配列を編集する

昨日は数独について、構想新たに27×27の配列を準備してみた。 infoment.hatenablog.com今日は、実際の出題を配列に反映させることに挑戦する。 まず数独用に、クラスモジュール「Sudoku」を作成した。 クラスモジュール Option Explicit ' 出題された9×…

数独(再挑戦)① 27×27で表現する

少し前に、Excel VBAで数独を解いてみた。機械的な総当たりではなく、人の頭で考えるかの如く作りこもうとして、途中で挫折していた。そこで今回、新たな構想で再挑戦することにした。今回も途中で挫折するかもしれないが、とりあえず、やれるところまで挑戦…

ピボットテーブルのスライサー

今日は、こちらを読んで気づいたことから。いちばんやさしいExcelピボットテーブルの教本 人気講師が教えるデータ集計 が一瞬で終わる方法 (「いちばんやさしい教本」シリーズ)作者: 羽毛田睦土出版社/メーカー: インプレス発売日: 2019/08/23メディア: 単行…

パーフェクトExcel VBA

こちらを購入した。パーフェクトExcel VBA (PERFECT SERIES)作者: 高橋宣成出版社/メーカー: 技術評論社発売日: 2019/11/25メディア: 単行本(ソフトカバー)この商品を含むブログを見るVBAを我流で学ぶのは、道なき道を繰り返し歩みながら、自分なりの獣道…

グラフのフォントを変えてみる(四苦八苦した話)

今日は、グラフのフォント変更に四苦八苦したお話。 いつもの「なんちゃって個人情報」から、なんちゃってグラフを作成。 このグラフ全体のフォントを変更したくなった。手っ取り早く、マクロの記録でヒントを探した。 Sub Macro1() ActiveSheet.ChartObject…

配列にCOUNTIFを使ってみる

なぜか、ずっと思い込んでいた。WorkSheetFunction.Sumで足し算できるのは、一次元配列だけだと。しかし実際に、そんなことはない。 Sub Test() Dim arr As Variant arr = Selection MsgBox WorksheetFunction.Sum(arr) End Sub 二次元配列であっても、この…

忙しいという誤解や勘違いに対するVBAという処方箋

忙しい人が、たくさんいる。 今日は、その一部の皆さんに当てはまるかもしれない、というお話。 「忙しい人」という誤解や勘違い 多くの「忙しい人」がいる中で、実はそれが誤解や勘違いという場合がある。 本当に忙しくて、しかも本人は「どうしようもない…

「~」や「, 」で連結された数字を元の数字に戻す

先日は、連続する数字を「~」で、不連続な数字は「, 」で連結する ユーザー定義関数の作成に挑戦した。 infoment.hatenablog.comすると、この逆を行う処理についてのコメントが寄せられた。 そこで今回は、これについて挑戦してみた。 今回の解説については…

連続する数字は「~」で、不連続な数字は「,」で連結するユーザー定義関数(回答編)

昨日は、連続する数字の結合について、設問編と称し、結果の動画だけを掲載した。 infoment.hatenablog.com今日は、回答編を紹介する。 本来ならば、「解答」とすべきところ。しかし恐らく解答は無限にあると思われ、今回は「回答」とした。 ※解説については…