アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

ブックの共有

共有フォルダ等に置いてあるファイルは他人が開いてると変更を保存できなかったりしますが、 それを誰が開いていようが同時に更新しようが大丈夫になるやつ。 実務ではテスト項目表・障害管理表などに使うと吉。 そういうのをExcelで管理する奴は殺せと言っ…

ワークシートの最大行数、最大列数を取得

最大行数は Rows.Count 最大列数は Columns.Count で取得できます。 ' 使用例(1):「Sheet1」シートの全セルのデータや書式設定を削除 With ThisWorkbook.Sheets("Sheet1") Range(Cells(1, 1), Cells(Rows.Count, Columns.Count)).Clear End With ' 使用例(2…

ボタンひとつで簡易grep

何度もgrepをかけるとき、いちいちウインドウ出てくることや 検索フォルダが「今開いているファイルの位置」になるのが非常に鬱陶しいので、 「あらかじめ指定されたフォルダ以下にて今選択している文字列をgrep」するマクロを作りました。 ショートカットキ…

VBAでセルの結合

セルを結合するには、MeageCellsプロパティを用います。 ' A1~C3のセルを結合 Range("A1:C3").MergeCells = True '現在選択している範囲を結合 Selection.MergeCells = True ここで、結合したいセルのうち2つ以上にデータが入っていると、警告が表示されま…

頭文字検索

用語集みたいなやつを作っていて、「あ行」「か行」…「英数字」という頭文字検索があったので、 調べてみたところLIKEかREGEXPが使えそうかなと思ったのですが…LIKE →複雑な正規表現は使用不可 →日本語に対応REGEXP →正規表現使用可 →日本語に非対応でした。…

フィールドの順序を変更する

以下、MySQLで確認。あるテーブルで、フィールドが「field_a」「field_b」がこの順に存在し、これを入れ替えたいときは以下のようにします。 ALTER TABLE テーブル名 MODIFY COLUMN `field_a` 型名 AFTER `field_b`;

テーブルの再構築

MySQLの話。いつもは速いクエリが突然やたらと遅くなったので調べてみると、何故か適切なインデックスが使用されなくなっていた模様。 とりあえずインデックスを一旦削除して張り直すと戻りました。 (FORCE INDEX なんかも知ってはいますが、リリース済みの…

ランダム文字列を生成する関数

以前に同タイトルの記事を書きましたがこちらはPHP版。↓こちらはVBA版。まあこちらも基本ロジックは一緒なんですが…honey8823.hateblo.jp private function makeRandomStr($strlen = 1) { // 使用可能な文字一覧 $randomstr = "abcdefghijklmnopqrstuvwxyz12…

複雑な条件でGROUP BYする

以下MySQLで確認。下記Aのテーブルについて、 「idが4未満と4以上のグループに分けて、それぞれで一番小さいvalueをSELECT」 してBの結果が欲しいとき…(A)test_table id value 1 68 2 15 3 32 4 19 5 73 6 59 (B) 15 19 苦し紛れに以下のようなクエリを書い…

Excelでよく使うショートカットキー

Excelのショートカットキーのうち、個人的によく使うものやすっかり忘れてたけどそういや便利だったわと思ったものをメモ。 自動入力系 ものすごく便利。 意外と知られていないのですがおすすめ。 「Ctrl」+「D」上のセルのコピー(クリップボード非使用) …

特定の文字以降を別の文字列に置き換える

具体的には、「メールアドレスの@以降を*でマスクする」ロジック。 文字列処理の関数を多数使用できて面白かったのでメモ。 ただ、PHPならもっと簡単なロジックが作れそうな気も…? // 加工前のメールアドレス $mail_address = "hoge@fuga.com"; // 加工後の…

データベースごとのサイズを調べる方法

データ部分、インデックス部分、合計について、それぞれMG単位とGB単位。 SELECT `TABLE_SCHEMA` ,ROUND(SUM(`DATA_LENGTH`) / 1024 / 1024, 2) AS `data_MB` ,ROUND(SUM(`DATA_LENGTH`) / 1024 / 1024 / 1024, 2) AS `data_GB` ,ROUND(SUM(`INDEX_LENGTH`) …

終わりの始まり

ある日突然社長から全社員に対して「会社の経営状況が悪化している。近日個人面談を行う」と告知。前から宜しくはなかったのは知ってたけど、わざわざ明言しなければならなくなったというのはおそらく相当ヤバい状況になったんだと思う。 とはいえ別にみんな…

駅メモ #15:ふたりめのカンスト

れいこさんに続き、いずなさんがカンスト。あと、れいこさんはマイルも最大値になりました。 マイル込みの最終パラメータがこちら。 相変わらずれいこさんのお仕事回数称号一番乗りを目指しているのですが、回数稼ぎは激戦駅に居座るときとか、移動中にして…

駅メモ #14:はじめてのカンスト

れいこさんがカンストしました。 Lv80カンストは初です。また、先日「笑顔がまぶしくて」称号も一番乗りでゲットしました。アクティヴレイドコラボはこれからラストスパート遠征してきます。 進捗は前回から変わらず。 駅 2778 路線 339 都道府県 30 コンプ…

ユニークなインデックスが存在しないテーブルを求める

先日弊社のphpMyAdminを3.x系から4.x系にアップデートしまして 「PRIMARY/UNIQUEのいずれのインデックスも張られていないテーブルのレコードは編集/削除不可」という問題まっとうな仕様変更にぶち当たったので、 そのとき影響範囲の調査に使った 「PRIMARY/U…

Ingress倉敷ミッションデイに参加してきました

倉敷駅からさっくりクリアできる6つを選んでやってきました。通し番号としては1~6を順にですね。 時々、無関係と思ってハックした直後のポータルが指定されて手間取ったりはしました…。 ミッションデイ当日だと焼き合いもすごいのでヒートシンク刺す隙すら…

ingressミッションレビュー:ViaLux : Setouchi , JP

ViaLux参加記念に。 https://ingressmm.com/?find=ViaLux%20%3A%20Setouchi%20%2C%20JPミッションとは関係ないのですが、最後のmeasurementが終わった直後のfactionチャット。 とてもすき。 普段から挨拶とか応答とか掛け声的な感じで「えんらーい」を見るこ…

Ingress東京ミッションデイに参加してきました

いやいや、対象ミッション多すぎでしょ!!!ということで6つ厳選してきました。 国会議事堂→六本木→渋谷→台場→スカイt…スカイツリー→東京都庁 という突然のななどら聖地巡礼。(もちろんメダルは逆順)この中には特に難しいミッションはありませんでしたが…

ingressミッションレビュー:AEGIS NOVA TOKYO MEMORY

かっこいいメダルがあったので、こちらもAegisNova記念に。 新宿をぐるっと回る程度のお手軽ミッションでした。 (こちらを見る限り、現時点で3つは削除されている模様…?) https://ingressmm.com/?find=AEGIS%20NOVA%20TOKYO%20MEMORYアノマリー時は同シリ…

ingressミッションレビュー:AegisNova : Tokyo , JP

AegisNova参加記念。受付の後にさっくり回ってきました。 地図はこちら。 https://ingressmm.com/?find=AegisNova%20%3A%20Tokyo%20%2C%20JPスムーズに回れるよう工夫してあるミッションでとても良かったです。また、最後のミッションは2つあり、夜間(台場公…

ingressミッションレビュー:風景印を巡る旅

全52個あるシリーズミッションですが、愛知・岐阜が中心で、沖縄・東京にも少しずつ。 東京から6つ抜粋しました。 https://ingressmm.com/?find=%E9%A2%A8%E6%99%AF%E5%8D%B0%E3%82%92%E5%B7%A1%E3%82%8B%E6%97%85 はんこモチーフに弱いっ。ミッション自体は…

駅メモ #13:マスターオブ沖縄と遠征三昧

石川、埼玉に続いて沖縄もマスターしてきました!一つだけ離れた位置にある廃駅(嘉手納)は、中城城址まで行けば取れました。他の県については、 東京があと2駅、神奈川があと4駅です。うまく調整すれば山梨あたりとまとめて同じ日にマスターオブ称号取れる…

テーブルごとのサイズを調べる方法

MySQL。 サイズというか容量というか使用量というか。アレ。参考:MySQLのデータベースやテーブルのサイズを確認する方法 - Little Braver http://little-braver.com/379/ SELECT `TABLE_SCHEMA` -- DB名 ,`TABLE_NAME` -- テーブル名 ,`TABLE_ROWS` -- レコ…

CSVを読み込み二次元配列に格納するプロシージャ・改

前にも同じようなのを作って使っていたんですが、 CSVにカンマや改行が含まれていると機能しないとかいうクソっぷりだったので、 大幅に改修しました。 あと、UTF-8のCSVに対応したい事案があったのでそれも合わせて。 (改修というか別物に近い) 参考:UTF…

配列のサイズを宣言する前にサイズを知りたかった

だいぶ意味不明なタイトルですが。VBAではサイズを指定せずに配列を宣言できます。 (指定して宣言することもできます) ' 文字列が入る配列(サイズ不明) Dim sArray() As String その場合、後からサイズを指定できます。 ' 文字列が入る配列(サイズ不明…

in_array VS array_search 速度検証

タイトル通り。わたしは普段「ある配列にある値があるかどうか」のチェックにin_arrayを用いていますが、 他の人のソースでarray_searchを用いているのを見かけたので 単純に気になって速度検証。 (in_arrayの方が速いんじゃないかなーという予想)検証コー…

ゆるゆるダイエット計画 #4:スポーツジムに通いはじめました

炭水化物を控えめにというのは一応意識しつつ、スポーツジムに通うことにしました。 通い始めてちょうど一ヶ月ほど経過しています。今のところ、2~3日に1回、40~60分間程度の運動としています。 脂肪が付いている腹周りや太ももあたりを中心に筋トレ+有酸…

世界樹の迷宮5初見 #2:第一階層突破

最初のミッションも終わったので、いよいよ本格的に樹海探索へ。さっそく2Fにのぼってみるとわりと手痛い歓迎を受けました…。 致命傷で済んだ。 今作はギルドカードを交換すると交換相手がゲーム中に出てきてくれるとのこと。 ロールプレイングの捗る、良い…

世界樹の迷宮5初見 #1:迷宮探索、はじめました

予約していたのを発売日(8/4)の0時に引き取りました。体験版データは引き継がず、改めて最初からスタート。 難易度はもちろんこっち。わくわく。ギルド名はいつもの。 とりあえず5人作る。 改めて考えてはみたんですが、結局事前に考えてたのがベストだなと…