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

トーナメント作成 ② とりあえず箱を配置する

昨日は参加人数から、トーナメントが何回戦まで行われるか求めてみた。 infoment.hatenablog.com今日はこれを利用して、決勝戦までの箱を並べてみる。 まず参加者だが、今回も「なんちゃって個人情報」のお世話になった。 これを手作業でシート上に配置する…

トーナメント作成 ① 2の倍数に切り上げる

とある事情から、簡単にトーナメント表を作りたくなった。 そこで、Excelで簡単に作れないか、今日から試してみようと思う。 手順など、恐らく世の中では既に確立しているのだろうが、勉強のためにもやってみよう。上手くいったら、ご喝采。失敗しても、ご愛…

①と②の順序が入れ替わった時、自動で②を①に、①を②に変更したい。

突然、強烈に面倒くさくなった。 何が面倒くさいって、番号を一々入れ替えるのが。 私の書く週報は、良し悪しはさておき、こんな書式になっている。 例えば時系列の関係などから、①と②を入れ替えたとする。 ②と①の文字が自動で入れ替わるはずもなく、次いで…

B1の一つ右隣を指定する方法

先日、職場の勉強会で、あることに気づかせてもらった話を紹介した。 infoment.hatenablog.com実はこの時もう一つ、気付かせてもらった話がある。 といっても、言われてみれば、当たり前の話。社内勉強会に参加されたその方は、例えばB1の一つ右隣(つまりC1…

Target と Selection と ActiveCell

職場の勉強会で、WorkSheet_SelectionChange イベントを扱う機会があった。 選択範囲の値を得て、何某かの処理をする。私の中では、Target を使うのが定番。例えば、こんな感じだ。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 複数セ…

セル内で複数行に改行されている文字を、一行ずつ取得したい

セル内で、複数回改行されている文字列がある。 見やすさのためか、途中に空白行まで挟まっている。こんな感じで。 この中から、 ああああ いいいい うううう ええええ の4つの文字列を取り出したいという依頼があった。 拡張子は「.xls」だった。聞けば、…

引数で()が要るときと要らないときと、要らないけど書けるとき

引数で、()が要るときと要らないときがある。 【要るとき】 Callステートメントでプロシージャを呼び出すとき 戻り値があるとき ※ただし、引数が無い場合は()不要。そして、これを混乱させる理由の一つが、下記サンプルの三番目ではないかと推測する。 S…

8桁の数字を日付に変換

何某かのシステムからダウンロードしたデータの日付が、8桁の数字になっていることがある。これを、日付データに変換したい。こんな感じで。 例)20191004 ⇒ 2019年10月4日 ということで、覚えたての頃に作成したマクロと、 今日仕事で使ったものを両方書い…

条件付き書式で濃淡をつける

業務で、ある数値を管理している。 予定された大きさがあって、そのとおりであれば「1」(=100%)となる。1を超えた、つまり予定をオーバーしているものは要監視対象として、セルに色を付けて対応していた。今までは、とにかく1を超えれば色が付くという…

縦から横か、それとも横から縦か(テーブルの値取得)。

縦から横か、それとも横から縦か。 先日の社内勉強会で、テーブル(表)内の特定セルの値を取り出す操作があった。その時のお話から抜粋。例えば、このようなテーブルがあるとする。この中で、みかんの単価が知りたいとき、どうすればよいか。このとき、縦から横か、…

数学パズル

先日、イベントで家族と大学へ遊びに行った。数学科のブースでは、例年のごとく算数の問題が幾つか出されている。その一つをマクロで解くことに挑戦した。 【問 題】 整数x,y,zの取りうる組合せ数を答えなさい。 条件1.x,y,zは自然数である。 条…

鶴亀算を解くユーザー定義関数

鶴亀算。つるかめ算。ツルカメ算。個人的には「二元一次方程式」の代名詞的存在だったが、元はそうでもないらしい(今回初めて知りました)。 ja.wikipedia.orgこれをExcelで解くユーザー定義関数を、マクロで作成してみた。 鶴亀算を解くって、どんな時だろ…

ArrayEditのまとめ

作成したArrayEditの「途中形態」が、時系列で次々と増えてきた。そこで、現時点の最終形をこちらに載せることにした。今後は、ここだけ更新することにする。※結構なボリュームなので、畳んで置いておく。↓ ScriptingRuntimeの参照設定を要す。 ◆Seaquenceの…

指定した原紙シートをコピーして新たなシートを作成し、シート名を指定した名前に変更し、その中の指定アドレスに指定配列を丸ごと貼り付けてついでに列幅まで調整したうえでテーブル化し、最後にそのテーブルを戻り値とする関数

過去に作成して提供した、Excelツールの改修を依頼された。作ったのは、2年ほど前か。中身を見て、愕然とする。その作りの、何と酷いことよ。 その中で、結構な行数を費やしている箇所があった。 ある範囲のデータを、配列に格納する。 「原紙」シートをコ…

配列内の文字を複数条件で置換

文字を置換したい。シート上であれば、これで片が付く。 だが今回は配列内の文字に対し、複数条件で置換したい。挑戦してみた。 折角なので、先日来作成しているArrayEditClassの機能拡張で対応してみた。 作戦は、こうだ。 ParamArrayキーワードで、置換前…

Androidアプリ超入門

買ってしまった。とうとう。ついに。作って楽しむプログラミング Androidアプリ超入門作者: WINGSプロジェクト?江賢,山田祥寛出版社/メーカー: 日経BP販売発売日: 2019/04/27メディア: 単行本この商品を含むブログを見るやりたいことは幾つかあるが、まずは…

新規シートを追加してから貼り付け の続き

先日、配列をシートに貼り付ける際、新規シートを追加してから貼り付けられるようにしてみた。 infoment.hatenablog.comこのマクロには問題があった。例えば配列を「新規シートのA1」に貼り付ける際、引数を渡した時点で「新規シートのA1」は存在しないため…

互換モードのExcel(拡張子.xls)を、まとめて「拡張子 .xlsx」に変換

先日は、互換モードのファイルパスを受け取り、以下の拡張子で保存し直すマクロに挑戦した。 「.xlsb」(バイナリー ※指定時のみ) 「.xlsx」(マクロを含まない場合 ※自動判別) 「.xlsm」(マクロを含む場合 ※自動判別) infoment.hatenablog.com今日は、…

.xls を .xlsb や .xlsm で保存

昨日は、拡張子が「.xls」のファイルが大量にあったため、これを「.xlsx」に自動更新するマクロに挑戦した。 infoment.hatenablog.comすると、日頃親交のある狸さんから、拡張子「.xlsb」についてご紹介を受けた。 (いつも有難うございます)。そこで本日は…

.xls を .xlsx で保存

あるシステムからダウンロードしたExcelファイルが、拡張子「.xls」だった。一月に一ファイルで、3年分ある。なぜか開くのに時間が掛かるし、容量も大きい。そこで、一つずつ開いては「.xlsx」で保存する地味な作業に突入して、二つ目で嫌になった。そうだ…

新規シートを追加してから貼り付け

昨日の記事で、次のような操作を行った。 シート追加 配列貼り付け infoment.hatenablog.com 日々、それなりに登場する操作だ。 唐突に、「毎回シートを追加する」のが面倒くさくなった。 そこで、配列をシートに貼り付ける関数に、新規にシートを作成するか…

指定列の項目毎に、別の指定列について最大値を求める

先日、次のような課題を目にした。 例えば、昨日のなんちゃって個人情報にて。各都道府県の、最年長者を抽出した表を作成したい。 挑戦してみた。 今回の作戦は、こうだ。 指定範囲を一行ずつ、都道府県をキーにして辞書に登録する。 同じ都道府県の場合は年…

名簿マスターから、印刷用にデータを抽出して並べる

昨日は名簿マスターに於いて、頭文字毎の区分けに挑戦した。 infoment.hatenablog.com元々今回のネタは、職場の電話帳改善に端を発している。今回はクライマックス、「名簿マスターから、印刷用にデータを抽出して並べる」に挑戦する。 A4用紙に、何列かに…

イニシャルで区分

昨日は、名簿のふりがなを「ふりがな」「フリガナ」「フリガナ」の三種類で切り替えることに挑戦した。 infoment.hatenablog.com今日は、この名簿をイニシャルで区分することに挑戦する。 本シリーズは元々、職場の「電話帳改善」に端を発している。ヒヤリング…

「ふりがな」と「フリガナ」と「フリガナ」

昨日は情報を持たないセルに、正しいフリガナを設定することに挑戦した。infoment.hatenablog.com本日も、フリガナの設定についてアレコレ試してみよう。昨日、B列(名前列)の漢字に対し、フリガナを設定した。そこで、なんちゃって個人情報本来の書式に戻…

ふりがなの設定

職場の電話帳が、Excelで作成されている。この電話帳を良くしようという、職場の改善活動にまつわるお話。電話帳をそのまま公開できるはずもなく、今回も毎度の「なんちゃって個人情報」のお世話になる。さて、なんちゃって個人情報には、「なんちゃって人名…

将来の夢

職場で、Excelについて頼られることが多くなった。 頼られるってのは、まあ有難いことだ。それで、たまには皆さんの前で教鞭(?)をふるったりすることも、ある訳で。 そのような機会に面白いと思うのは、どのように初歩的な内容の講座であっても、必ず何か…

一つ上のセルの値のみ取得

今日は、こちらの記事に便乗。 koroko.hatenablog.comコロ子さんが挑戦されているように、「フィルターが掛かっていても」がポイントだと思う。 以下の条件を全て満足する場合、簡略化が可能だ。 選択セルが空白である。 一つ上のセル(隠れているものを除く…

二つの配列を比較する

昨日は、二次元配列で、最後尾に新たな一行または一列を追加してみた。 infoment.hatenablog.com今日は、表で何某かレコードに変更があった場合を想定し、二次元配列に格納して比較することに挑戦する。 今回も、北陸県を用いたサンプルで検討した。 表Aと…

二次元配列で、最後尾に新たな一行または一列を追加

昨日は、二次元配列での列編集に挑戦した。 infoment.hatenablog.com行に対して作りためた様々を、列に横展開。これでまた、一気に充実した。しかし今までのものは全て、既存データのやりくりでしかない。そこで今回は、新規データの追加に挑戦する。 今回挑…