忍者ブログ

文頭および文末に文字を挿入するマクロ(ランチャー1)

2021年03月20日

エクセルで文字列として入力する場合、「’」を1文字目に入力する。

まとめて文字列にしたり戻したり出来たら便利だなってことで
文頭に文字を追加したり、1文字目を消したりするマクロを作ろうか。

文頭と文末どっちも操作できるといいかもってことで
ユーザフォームを使って作ってみた。

通番も一緒にできたら面白いので、
入力フォームに「¥n」を入力したら通番を振る仕様に。


ユーザーフォームは使い勝手はいいかもしれないけど、
いかんせん作るのがめんどくさい。

オートシェイプでお絵描きをして、
描いた絵の全部品の設定を調整しないといけない。

文頭と文末に挿入する文字の入力用にそれぞれ入力フォームを用意。
キャンセルボタンと実行ボタンを作り、ショートカットキーを設定。
キャンセルボタンにESCキーを紐づけ。
タブ遷移順序を調整して、文頭、文末、実行ボタンの順にEnter遷移可能にした。

ダウンロード




今回デフォルトから変更したプロパティは以下の通り。

オブジェクト名:strAddForm(フォーム名)
Caption(表示名):セル内容の両端に文字列を追加

オブジェクト名:stText '文頭文字
MultiLine(改行可否):True
TabIndex(タブ遷移の順番):1

オブジェクト名:edText '文末文字
MultiLine(改行可否):True
TabIndex(タブ遷移の順番):2


オブジェクト名:CommandButton1 ’キャンセルボタン
Accelerator(操作キー Alt + ...):C
Cancel(ESCキー紐づけ):True
TabIndex(タブ遷移の順番):5

オブジェクト名:CommandButton2 '実行ボタン
Accelerator(操作キー Alt + ...):A
TabIndex(タブ遷移の順番):4


以下ソース
PR
つづきはこちら "文頭および文末に文字を挿入するマクロ(ランチャー1)"

マイナンバーカード申請

2021年03月07日
マイナンバーカード申請で大ハマりした。

自分のカード申請は問題なくできたのに、娘二人のカード申請がうまくいかず。エラーメッセージは以下の通り。

交付申請書に記載の申請書ID(半角数字23桁)と同じか確認してください。 
申請書IDに誤りがあると正しくカードが発行されませんので、お間違いがないか確認してください。
区役所で聞くも状況変わらず。コールセンターに電話するも、手入力しろだけの回答。
もう一度区役所に相談して、若手職員立ち会いでやったら、メッセージ出たまま普通に登録できたし。
エラーメッセージじゃなくて、警告メッセージだった。携帯使えないおじいちゃんみたいだわ。

メッセージ内容、レイアウト共にいけてねーよな。




CSVファイルを1行目の内容で分類して結合するマクロ

2021年02月23日
仕事で急遽必要になり、突貫で作成。
過去のソースを流用して1時間でできた。

◆目的◆

フォルダ内にCSVファイルの一覧があり、1行目が日付情報、
2行目以降が登録データになっている。

CSVファイルをサイトに取り込む際に、
1アカウント1日あたりファイルっていう縛りがあり、
日付別にCSVファイルをまとめなきゃいけなくなった。

◆手順◆

1.ダイアログを表示して解析対象のパスを取得
2.Dir関数を使ってフォルダ内のファイル一覧を取得
 (今回は、VBAで作られたCSVを結合するのでShift-Jisのみ)
3.ファイルの中身を1行ずつ読み込む
4.Dictionary配列を定義し、1行目の日付をキーに2行目以降をアペンド
 (キーの存在チェックしてなければキー登録、あれば値更新)
5.全ファイル繰り返し
6.キー配列を定義して、Dictionaryカウントでループ
7.キーごとに値をCSV出力(Printを使用)

◆注意点◆

Dictionary配列に改行「chr(10)」を格納しても「・」が出力されるので
一旦「"†"」で格納して、Print時に「chr(10)」へReplace

以下ソース
つづきはこちら "CSVファイルを1行目の内容で分類して結合するマクロ"

VBAでの処理時間の計測

2021年02月17日
会社で作っているCSV出力ツールで、
応答性を試験するために、マクロの処理時間を計測したい。

考え方としては、処理開始した時刻を変数にセットして、
処理完了時の時刻と比較する。

ただ、Nowを使うと結果が日付型で出力されて使いにくいので
Timerを使うのがお勧め。
つづきはこちら "VBAでの処理時間の計測"

VBAの文字コード問題 Dir関数を使わずにFileSystemObjectを使おう

2021年02月17日
今回も会社で作っているマクロについて。

【おさらい】
今作っているのは、別のエクセルファイルからデータを読み取って、CSVに出力するツール。

エクセルファイルの中の環境依存文字がCSV化したときに「?」になっちゃうので、
Shift-Jisではなく、UTF-8でCSV出力するってのが前回のお話。


文字コード問題はそれだけじゃなかった。。。ってのが今回の内容。
つづきはこちら "VBAの文字コード問題 Dir関数を使わずにFileSystemObjectを使おう"