PeaceJetのブログ

金融系の社内エンジニアをやりながら、マーケティングやプランナーなども

publicな配列を定義する方法を考える。【ExcelVBA・エクセルマクロ】

いろいろ調べてみたのですが、ExcelVBAでは 配列を定数として定義することが出来ないようです。以下の記述はエラーになります。 Const TargetArray As String = Array("hoge", "foo", "bar") 従って、定数として使用するには工夫が必要になります。そこで、2…

フォントを統一する。【ExcelVBA・エクセルマクロ】

今回は、Excelの全てのシートに対して、 フォントを統一する方法をご紹介します。 ポイント For文を使わず、ForEach文を使用する。 こうすることで、処理を高速化することができる。 Sub CharacterModify() Dim TargetSheets As Worksheet For Each TargetSh…

ExcelVBAで多次元配列(2次元・3次元)を作成してみよう!【ExcelVBA・エクセルマクロ】

前回の記事では、2次元や3次元など多次元配列 では最後の次元しか変更できないという話をしました。今回は、多次元で動的配列を用いる場合について考えてみたいと思います。例えば、以下のようなリストを多次元配列に入れた場合、 取り出す時に楽をできそう…

多次元配列のサイズを変更する際の注意すべきポイント【ExcelVBA・エクセルマクロ】

ExcelVBAにて、多次元配列のサイズを変更する際に注意すべきポイントをご紹介します。 ポイント 多次元配列のサイズ変更する場合、最後の次元しか変更できません。 ルパン「じげ~ん!」 ・・・ええ、従いまして・・・ 以下のプロシージャはエラーになります…

ExcelのシートをHTMLテーブルとして出力する方法。【ExcelVBA・エクセルマクロ】

本日はExcelシート上のデータをテーブル(Tableタグ付きデータ)に 加工して出力してみます。 ポイント Rangeオブジェクトは2次元配列。 2次元配列の要素数を取り出すには、UBound関数の知識が必要。 加工後は『イミディエイト・ウインドウ』へ出力する。 Su…

重複しているデータを抽出して、重複しないリストを作成してみよう!【ExcelVBA・エクセルマクロ】

今回は、以下のようなリストにおいて、 重複しないように名前とメールアドレスを抽出(抜き出す)方法 を考えてみたいと思います。 Sheet1 ABCDE 1属性氏名フリカナ性別メールアドレス 2A組伊沢兼吉イザワカネキチ男kanekichi4638@ckttcy.wg 3B組岩沢治イワ…

ある月の最初の営業日のデータを抜き出す方法。【ExcelVBA・エクセルマクロ】

今回は、ある月の最初の営業日のデータを抜き出す方法 をご紹介します。配列の応用みたいなものですが、 月が変わった最初の日だけ抜き出したい。株式などの価格を月の初めの値を取得して チャートを作成するなどと言った場合にも、 対応できるかなと考えて…

配列の要素に特定の文字列があるか調べてみよう!【VBA・エクセルマクロ】

配列の要素に特定の文字列があるか? 今回は、配列の中に特定の文字列が存在するか、 調べる方法について考えてみたいと思います。Javaであれば、いわゆるindexOfメソッドを使用する ことで、解決するのですが・・・VBAでは、満足いく結果が得られなかったの…

改行コードが埋め込まれているCSVファイルを読み込もう【VBA・エクセルマクロ】

CSVファイルを読み込むと、形が崩れる。 CSVファイルをエクセルに取り込む場合に、エクセルなどのCSVリーダーアプリでは リスト形式が保たれているのに、「CSVファイルをメモ帳で開くと、一行になっている」これは、メモ帳側が改行コードを読み取れないこと…

テキストファイルを読み込んでみよう。【VBA・エクセルマクロ】

今回は、テキストファイルをVBAを使用して、 ワークシートへ読み込む方法をご紹介します。 キモは2つのステートメント 「Openステートメント」 「Line Input #ステートメント」 まずは「Openステートメント」でファイルを開く。 「Openステートメント」を使…

続・CSVファイルを読み込んでみよう。【Java】

前回のCSVファイルを読み込んでみよう。【Java】では、リストを読み込むためのメソッドを書きました。今回は、独自クラスとして読み込むためのBeanクラスと、 動作させるためのmainクラス(mainメソッド)を書きます。 Bean package main; public class Bean …

超簡単!マクロで2つのデータを比較してみよう!【エクセルマクロ・ExcelVBA】

例えば、ワークシートに以下のような値が入っているとします。 ※分かりやすくするため、重複しているものに色を付けています。 AB 1佐藤下村 2藤田長嶋 3ジョンソン田中 4梅村バイソン 5下村アンダーソン 以下の範囲を比較したとき Range("A1:A5") Range("B1…

CSVファイルを読み込んでみよう。【Java】

これから何度かに分けて、CSVファイルをJavaに読み込ませる方法をご紹介 したいと思います。 1. 単純に以下のようなリストを読み込む。 ABC 11佐藤satou@hogehoge.jp 22藤田fujita@foobar.jp 33ジョン・ピーターセンjhon@hogefuga.uk 44小早川kobayakawa@fug…

ワークシートごとにCSVファイルを作成する。後編【エクセルマクロ・VB・VBA】

前編では、ワークシートごとにCSVファイルを作成する方法として、 プロシージャを作りました。今回は、後編としてプロシージャの使い方を見ていきます。プロシージャ呼ぶための親プロシージャを作成することで、 使用することができます。前編で作成したプロ…

ワークシートごとにCSVファイルを作成する。前編【エクセルマクロ・VB・VBA】

ワークシートをCSVファイルとして出力(保存)する方法をご紹介します。たとえば、ワークシートに下記のような値が入っているとします。 AB 1佐藤satou@hogehoge.jp 2藤田fujita@foobar.jp 3ジョン・ピーターセンjhon@hogefuga.uk 4小早川kobayakawa@fugafug…

続・ワークブックが開いているかどうかを確認する。【エクセルマクロ・VB・VBA】

前回は、ワークブックが開いているかを調べる関数を作成しました。今回は、これらを使って実践的な方法をご紹介します。 ①もしも、ワークブックが開いていたら・・・する。 Sub IfWorkbooksAlreadyOpenedThenDo() '開いているか確認したいブック Const Targe…

ワークブックが開いているかどうかを確認する。【エクセルマクロ・VB・VBA】

『あるワークブックが開いていれば、そのままで…開いていなければ、開くようにしたい』と言った必要に迫られる場合があります。 今回は、ワークブックが開いているかどうかを調べる方法を、ご紹介します。まず、関数をBoolean型で作成し、 開いていれば True…

UBound関数について【エクセルマクロ・VB・VBA】

配列の要素を調べるために、UBound関数を使用しますが、返される値には注意が必要だったりします。公式ドキュメントには、次のように書かれています。 https://msdn.microsoft.com/ja-jp/library/95b8f22f%28v=vs.90%29.aspx 戻り値 Integer 型の値です。指…

VBAで可変長配列を使う方法【エクセルマクロ・VB】

エクセルでマクロを作っているときに、『特定のメールアドレスだけを、まとめて別のシートへ移す』などといったニーズがあった場合に可変長配列を使用して解決する方法をご紹介いたします。”Sheet1”には、以下のようなリストが 書かれているとします。 AB 1…