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

VBA100本ノック 41本目:暗算練習アプリ

この記事から得るもの 乱数の作り方。 ランダムに演算子を選んで、計算する方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 5 英語の勉強 1 今回のお題 暗算練習アプリを作成します。 ・整数2個と+-*/の演算子をランダムに選ぶ ・問題をIn…

Book内に特定の名前のSheet名が存在するかスマートに調べる方法

Book内に特定の名前のSheetが存在するか調べるには… 私が最初に思いつくのは、For each in Sheetsで、シートをループして特定の名前があるかを調べるです。 Sub Sheet名が存在するか調べる() 'Sheetに”2020年12月”があるか調べる。 For Each sh In Sheets sh…

VBA100本ノック 40本目:複数ブックの統合

この記事から得るもの 他のBookへのCopy、Pasteする方法。 FSOを使用して、ファイルを開く。 Range.CurrentRegionの見出しを除いたデータをCopy、Pasteする方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 「data」フォルダ…

ジャグ配列の中身をすべてを、イミディエイトウィンドウに書き出す。

ジャグ配列とは… 要素数の異なる配列のことです。(例) 配列(2) 配列(0)(0),(0)(1) 配列(1)(0),(1)(1),(1)(2) 配列(2)(0),(2)(1),(2)(2),(2)(3) 配列(0)は2つの要素を持つ。 配列(1)は3つの要素を持つ。 配列(2)は4つの要素を持つ。このように、要素数…

複数の改行するスマートなコード

結論 Sub 改行() '普通の書き方 MsgBox "かず" & vbCrLf & vbCrLf & "やん" 'スマートな書き方 MsgBox "かず" & String(2, vbCrLf) & "やん" End Sub 処理結果は同じ 「& vbCrLf & vbCrLf & 」ではなく、「& String(2, vbCrLf) &」と記述することにより、2…

VBA100本ノック 39本目:数値リストの統合(マージ)

この記事から得るもの Collectionオブジェクトを使って、重複しないデータを作成する。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 A列とB列の数値を統合(マージ)しユニーク化してC列に出力します。 ・A列、B列ともに行数は不…

VBA100本ノック 38本目:1シートを複数シートに振り分け

この記事から得るもの 日付データから、祝日、平日、休日の判断ができるようになる。 書込み処理のサブルーチン化のやり方が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 5 英語の勉強 1 今回のお題 「売上」シートのA列に日付が昇順…

VBA100本ノック 32本目:Excel終了とテキストファイル出力

この記事から得るもの 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 開かれているブック全てを上書き保存して、Excelアプリも終了させてください。 履歴として、保存したブックのパスをテキストファィルに出力してください。 テキ…

VBA100本ノック 33本目:マクロ記録の改修

この記事から得るもの 目次 1 今回のお題 2 今回のお題の意図 3 回答 1 今回のお題 「このVBAはマクロの記録から作ったのですが、件数の数値を変更してから実行しなければならず、データ件数も多くて何分も時間がかかりとても困っています。なんとかして…

SQL文で他のBookのデータを更新する。

目次 1 閲覧対象者 2 得られる効果 3 設計 4 感想 1 閲覧対象者 データを更新するエクセルBookと、データを蓄積するBookを別けたい方(いわゆるDBファーストです)。 更新用Bookからベタ打ちのSQL文を発行するだけなので、ADO接続、SQL文の書き方がよく…

VBA100本ノック 31本目:入力規則

この記事から得るもの Join関数の便利さに気づける。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 アクティブシートのA1セルに、入力規則の「リスト」を設定します。 「リスト」の「元の値」には、ブックの全シートのシート名を…

VBA100本ノック 30本目:名札作成(段組み)

この記事から得るもの 処理行を変えるカウンタの使い方。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 古臭いですが名札を作ることになりました。 「名簿」シートのB列に役職、C列に名前が入っています。 「名簿」から「名札」を…