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

VBA100本ノック 29本目:画像の挿入

この記事から得るもの フォルダから選択した画像を、Activeセルの幅に揃えて貼り付ける。 フォルダ内のすべての画像を、セル幅に合わせて貼り付ける。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 ファイル内の画像を連続貼り付け 5 感想 1 今回の…

VBA100本ノック 28本目:シートをブックに分割

この記事から得るもの WorkSheet名(部署_人名)で、それぞれフォルダ作成(部署)し、個別ファイル(人名)を格納する。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 個人別のシートを個人別のブックに分けまます。 シート名は"…

VBA100本ノック 27本目:ハイパーリンクのURL

この記事から得るもの セルに設定されているハイパーリンクの削除方法。 ハイパーリンクのアドレスをセルに書き出す。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 WEBページからコピーしてシートに貼り付けたら、セルの文字列に…

VBA100本ノック 26本目:ファイル一覧作成

この記事から得るもの ユーザーが選択したフォルダの中のファイル一覧をSheetに作成する。 そして、エクセル(拡張子.xls、.xlsx、,xlsm)のファイルであればハイパーリンクを設定して直接開けるようにする。 目次 1 今回のお題 2 今回のお題の意図 3 回…

VBA100本ノック 25本目:マトリック表をDB形式に変換

この記事から得るもの For~Nextの2重処理。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 画像1のように「売上」シートに横に日付と金額が入力されています。 行数・列数(日数)は増減します。 A列はセル結合されています。 画像…

VBA100本ノック 24本目:全角英数のみ半角

この記事から得るもの 正規表現の使い方。 StrConv関数で文字を変換する方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 自分で練習問題 5 練習問題の回答 6 感想 1 今回のお題 引数で受け取った文字列に対して、以下の処理を行い文字列で返す…

VBA100本ノック 23本目:シート構成の一致確認

この記事から得るもの 2つのWorkBookのSheet構成(シート名が一致しているかどうか)が同じかどうか判定する。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 5 追記 Dictionaryで処理 1 今回のお題 ThisWorkbookと同一フォルダに"Book_202011…

ファイル内のすべてのエクセルファイルを開いて、閉じる。

この記事から得るもの FileSystemObject を使って、フォルダ内のすべてのエクセルファイルを開いて、値を書き込み、閉じる方法が分かる。 エクセルファイルを開く、閉じるはサブルーチン化する。 目次 1 背景 2 実際のコード 3 感想 1 背景 VBA100本ノッ…

VBA100本ノック 22本目:FizzBuzz発展問題

この記事から得るもの IF文、Select Case文での条件分岐 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 たまにはちょっと遊んでみましょう! A列に1からの連番を出力してください。 ただし、 ・3で割り切れる場合はB列に"Fizz"を…

VBA100本ノック 21本目:バックアップファイルの削除

この記事から得るもの FSO(FileSystemObject)と使って、1ヶ月経過したBackupファイルの削除方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 自身(ThisWorkbook)と同じフォルダに"BACKUP"フォルダがあります。 このフ…

ユーザーフォーム独自イベント。Spinボタンで数量±2する。

Spinボタンで数量±2するためには… 以下の動画をご覧ください。VBA ユーザーフォーム 独自イベントSpinボタンで数量±2する。 pic.twitter.com/HGuVvMyNZm— かずやん (@y8bV4ty1wbkTjPd) 2020年11月14日 数量1がSpinボタンで±2されています。この処理を実…

VBA100本ノック 20本目:ブックのバックアップ

この記事から得るもの BOOKの保存(SaveASとSaveCopyAs)の違い。 特定の名前のフォルダが存在するか判断する方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 今回のお題 マクロブック(ThisWorkbook)と同じフォルダに"BACKUP"フォルダを…

エクセルVBA100本ノック。19本目:図形のコピー

この記事から得るもの 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 今回のお題 引数でWorksheetを受け取り以下の処理を行うSubを作成してください。 シートの全図形について画像のように元図形の真横にくっ付けてコピー。 繰り返し実行して…

エクセルVBA100本ノック。18本目:名前定義の削除

この記事から得るもの 名前の管理をVBAを使って処理する方法が分かる。 参照先が不明(#REF!)の名前を削除する。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 今回のお題 不明な名前定義が沢山あるので、以下の処理をしてください。 ・非…

エクセルVBA100本ノック。17本目:重複削除(ユニーク化)

この記事から得るもの 表の重複データの抽出方法。 Range.AdvancedFilterの使い方。 DictionaryとCollectionの違い。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 今回のお題 画像1のように部・課・氏名の「社員」シートがあります。 このデ…

エクセルVBA100本ノック。16本目:無駄な改行を削除

この記事から得るもの 無駄な改行の削除方法。 置換されたかどうかの判定方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 今回のお題 セル内改行はAlt+Enterですね。 引数の文字列から無駄な改行(LF)を削除して返すFunctionを作成して…

エクセルVBA100本ノック。15本目:シートの並べ替え

この記事から得るもの 日付が入っているSheet名を並び替える。 Sheet名に入っているのは日付かどうか判断する方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 日付データ(”yyyy年mm月”)の判断 5 一言 1 今回のお題 「2020年04月」から「202…

エクセルVBA100本ノック。14本目:社外秘シート削除

この記事から得るもの シート名に社外秘を含むSheetを削除する方法が分かる。 社外秘以外のSheetのセルに、社外秘含む数式を削除する方法が分かる。 全てのセルを値貼り付けする方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 …

エクセルVBA100本ノック。13本目:文字列の部分フォント

この記事から得るもの 指定した文字に色を付け、太文字にする。 InStr関数をループして処理する方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 一言 1 今回のお題 選択セル(Selection:複数範囲あり)の文字列に「注意」という文字があ…

エクセルVBA100本ノック。12本目:セル結合を解除

この記事から得るもの 結合解除後のセルに値を入れる。 結合セルが何個あるのか調べる方法。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 結合セルが何個あるのか調べる 1 今回のお題 A1から始まる表範囲のC列に金額が入っています。 しかし、とこ…

エクセルVBA100本ノック。11本目:セル結合の警告

この記事から得るもの 結合されているセルに対して、「結合禁止」などのコメントが可視的に確認が可能。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 サイトの模範解答 5 一言 1 今回のお題 11…同じ数字が並んでいる、これは結合したのか、、、画…

エクセルVBA100本ノック。10本目:行の削除

この記事から得るもの 表から、不要な行の削除の仕方が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 AutoFilterを使った削除 1 今回のお題 画像のように「受注」シートに今月の受注データがあります。 受注数が空欄かつ備考欄に「削除」ま…

エクセルVBA100本ノック。9本目:フィルターコピー

この記事から得るもの Collectionオブジェクトの特徴。 AutoFilterの使い方。 Worksheetが存在するかチェックする処理。 Set 変数 = Worksheets(””)のスマートな書き方。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 Worksheet追加時のスマートな…

エクセルVBA100本ノック。8本目:点数の合否判定

この記事から得るもの Countifで条件分岐方法。 If文のネスト。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 Function(自作関数)を作成した方のコード 5 結論 6 クラスモジュールで書いてみた 1 今回のお題 「成績表」シートに5教科の成績表…

エクセルVBA100本ノック。7本目:日付データの扱い

この記事から得るもの IsDate関数、DateSerial関数の使い方がわかる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 1 今回のお題 A列は文字列データ(表示形式が文字列)で日付が入っています。 日付とみなされる場合はB列に月末日付をmmddの形式で出…

エクセルVBA100本ノック。6本目:セルに計算式

この記事から得るもの R1C1参照で、セルに計算式を入れる方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 特定の文字列が含まれているか判断する 1 今回のお題 画像のようにA1から始まる表があります。 C列にA列×B列の計算式を入れて…

エクセルVBA100本ノック。5本目:セルの計算

この記事から得るもの 空白を含むデータがあるテーブルの処理をする際の、範囲設定方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 神髄先生の回答 1 今回のお題 画像のようにB2から始まる表があります。 B列×C列を計算した値をD列に入…

エクセルVBA100本ノック。4本目:セルの消去2

この記事から得るもの 計算式が入っているセルは削除せずに、データ(定数)が入っているセルのみを削除する方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 お題の意図が分かっている回答 1 今回のお題 画像のように1行目に見出し、A列…

エクセルVBA100本ノック。3本目:セルの消去

この記事から得るもの 特定のセル(No)は残したまま、データ部だけを消す方法がわかる。 データの行数は任意でも同じようにデータだけ消去できる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 備考:Cellsで別のSheetは指定できるが… 5 最終回答 …

エクセルVBA100本ノック。2本目:セルのコピー2

この記事から得るもの セルのコピペ後の、値貼り付け、書式は元のをそのまま使う方法が分かる。 目次 1 今回のお題 2 今回のお題の意図 3 回答 4 感想 1 今回のお題 「Sheet1」のA1:C5のセル範囲を、「Sheet2」のA1:C5にコピーしてください。 数式は消…