PeaceJet

@PeaceJets 新しいブログ → https://blog.peacejet.net 2018年、証券会社から転職して人材会社のシステムエンジニアになりました。マーケティングやデータ分析・UI/UX改善などもやっています! https://github.com/peacejet

エクセル

Google スプレッドシートのセル内改行で2番目、3番目だけ削除したい

Google スプレッドシートのセル内改行で2番目や3番目だけ削除したい Googleスプレッドシート使っていますか? かなり便利ですよね。 セル内の改行を削除する方法 置換の関数:SUBSTITUTE() これを使います。 SUBSTITUTE関数ってなんぞや? = SUBSTITUTE([…

【VBA】エクセルで重複以外の値を抽出する方法

エクセルで重複した値以外を抽出する方法 久々にVBAを書きます。 複数列(たとえば、A列とB列)に、それぞれデータが入っていて、これらA列とB列でそれぞれが重複した値だった場合は無視して、重複していない値のみを取得したい場合があります。 そんなとき…

Google Apps Scriptであらかじめシートのサイズを決めて新規にシート作成をする方法

Google スプレッドシートのサイズを指定して作成する方法 自分は、サーバーレスでスクレイピングなどをしているのですが、その最たるものとしてGoogle スプレッドシートを使用しています。 しかし、Google スプレッドシートには作成できるセル数(たしか200,…

プログラミング初心者でも5分でできる!スクレイピング&クローリングをGoogle スプレッドシートで!

Google Sheetsで簡単!5分でスクレイピング&クローリング こんにちは、PeaceJetです。 スクレイピングって意外とハードルが高いですよね! でも、やってみたい。 そんなあなたに贈る簡単にスクレイピングとクローリングができる方法です。 スクレイピングと…

★【VBA】Wordの文章をExcelから置換する方法

Wordの文章をExcelから置換する方法 ExcelからWordの文章を開いて、Excelからワードの文章中の文言を任意のものへ変更したい。そんな要望があったので、作ってみました。Word側はExcel側から検索できるように、置換したい部分を変更しておきます。 (以下を…

【VBA】Split関数では数値が文字列になります!

Split関数では数値が文字列になります! もはや、誰得か分からない記事になってきました。 当たり前といえば、そうなんですけども。 なぜか、ハマってしまった件です。 Split関数の弱点 Split関数で文字列を配列に格納すると、数値が文字列に変換されるとい…

★【VBA】Excelマクロを使って年代を調べよう!【連想配列】

Excelマクロを使って年代を調べよう! 久しぶりに、VBAを書くような気がします。 会社勤めをしている人は、分かって頂けると思いますが。 どうしてもExcelが身近なツールとなり、仕事を下支えする存在になっています。最近では、MarketoとかSalesforce、kint…

★【VBA】データが入力されている範囲を選択する方法

データが入力されている範囲を選択する方法 メモ的に書いていきますので、読みにくいかもしれません。まず、シートを指定して呼び出せるFunctionプロシージャを作成します。 'こちらで、データが入力されいている最終行と最終列を取得します。 Public Functi…

画面中央に「処理中」という案内板を出す方法【エクセル VBA】

こんにちは、PeaceJetです。今回は、画面中央に「処理中です」という案内を出す方法をご紹介します。意外と難しいのかなぁ~と思う方も多いかと思いますが、意外と簡単ですのでお試しあれ。 ユーザーフォームの準備 今回はユーザーフォームを使用して、「た…

VBAでメールを送信する方法

VBAでメールを送信するには? こんにちは、PeaceJetです。「エクセルでセルの内容をメール出来ないか?」といったニーズがありまして・・・ちょっと書いてみたいと思います。メールを送る際には、本来なら自前のサーバーを送りたいところなのですが、「メー…

セルの変更履歴を保存する方法 【エクセル・VBA】

こんにちは、PeaceJetです。今日は、久々にプログラミング的な記事を書きます。 セルの変更履歴を別のシートに記録したい 複数人数によって共有されるエクセルブックの場合、「いつ? 誰が? どの部分を変更したのか?」を追跡したいと言った需要が生まれる…

【VBA】基本的な操作 〜文字列操作編(LEFT LENなど)〜

LEFT RIGHT MID LEN LEFT 文字列の左端から、指定した文字数分の文字列を取り出す。 Sub sample1() Dim Str As String Str = "PeaceJet" MsgBox Left(Str, 1) '"P"を返す。 End Sub Mid 文字列の指定した位置から、指定した文字数分だけ文字列を取り出します…

【VBA】基本的な操作【開く・閉じる…など】

基本的なことなのですが、ワークブックの操作を忘れたりすることがあります。なので、今回は「あれ?」っと思い出せなくなるような単純なことを、メモしておきます。 ワークブック Open Close Copy ワークブックを開く Sub Sample1() Workbooks.Open "C:\Boo…

結合されたセルの値を消す方法【ExcelVBA・エクセルマクロ】

結合されたセルと、そうでないセルが 混在しているような場合、 値だけ消す方法をご紹介します。 ポイント 結合したセルのプロパティは"MargeCells" MargeCellsがTrueを返せば…する。 Sub CellClear() Target = Split("A1,B2,C3",",") For i = 0 to Ubound(T…

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

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

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

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

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

今回は、重複しているデータを抽出して、重複しないリストを作成してみます。名前とメールアドレスを抽出(抜き出す)方法を考えてみたいと思います。

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

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

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

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

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

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

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

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

ワークシートごとに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】

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