タグ

VBAに関するntakahashi0505のブックマーク (11)

  • エクセルVBAでダブルクォーテーションで囲まれているCSVファイルを取り込む | 隣IT

    一般的なCSVファイルを取り込むプログラムのおさらい まずは一般的なCSVファイルを取り込むプログラムについて、おさらいをしておきたいと思います。 Sub getCSV() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets(1) Dim strPath As String strPath = "C:\Users\Noriaki\Dropbox\40_ブログ\vba-csv\test\ラーメン店アンケート_dq.csv" Dim i, j As Long Dim strLine As String Dim arrLine As Variant 'カンマでsplitして格納 Open strPath For Input As #1 'csvファイルをオープン i = 1 Do Until EOF(1) Line Input #1, str

    エクセルVBAでダブルクォーテーションで囲まれているCSVファイルを取り込む | 隣IT
    ntakahashi0505
    ntakahashi0505 2016/01/27
    【ブログ更新】エクセルVBAでダブルクォーテーションで囲まれているCSVファイルを取り込む -
  • 遅い…重い…そんなエクセルVBAプログラムの処理速度を劇的に改善する方法 | 隣IT

    みなさん、こんにちは! タカハシ(@ntakahashi0505)です。 せっかく組んだエクセルVBAの実行速度が遅いな~って時ありませんか? 読み書きするデータ数が多かったり、ファイルにたくさんの計算式が仕込まれていたりすると、とっても遅くなってしまうことがあります。 しかも実行中って、PCが使えないわけではないのですがアプリケーションが「応答なし」になると嫌なので、結局待たなくてはなりませんよね。 そんな時にエクセルVBAのプログラムの処理速度を速くするステキなテクニックを紹介します。 また、合わせてプログラムの実行時間を測定する方法についてもお伝えしますね。 これで重いマクロともオサラバ…では早速行ってみましょう! 今回の課題とするプログラム 処理速度を無駄に稼ぐだけのこんなプログラムを用意してみました。 Sub MySub() Sheet1.Cells.Clear Sheet2.C

    遅い…重い…そんなエクセルVBAプログラムの処理速度を劇的に改善する方法 | 隣IT
    ntakahashi0505
    ntakahashi0505 2016/01/18
    【ブログ更新】遅い…重い…そんなエクセルVBAプログラムの処理速度を劇的に改善する方法 -
  • エクセルVBAでテキストファイルに書き出す最も簡単なプログラム | 隣IT

    エクセルシートを一行ずつテキストファイルに出力するシンプルなプログラム 例えば以下のような何の変哲もないエクセルシートがあります。 このA列をテキストファイルに書き出すというプログラムを作っていきたいと思います。 プログラムはこちらです。 Sub makeText() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets(1) Dim datFile As String datFile = ActiveWorkbook.Path & "\data.txt" Open datFile For Output As #1 Dim i As Long i = 1 Do While ws.Cells(i, 1).Value <> "" Print #1, ws.Cells(i, 1).Value i = i + 1 Loop Close #1 Ms

    エクセルVBAでテキストファイルに書き出す最も簡単なプログラム | 隣IT
    ntakahashi0505
    ntakahashi0505 2016/01/14
    【ブログ更新】エクセルVBAでテキストファイルに書き出す最も簡単なプログラム -
  • エクセルVBAでCSVデータをカンマで区切ってワークシートに取り込む方法 | 隣IT

    CSVファイルの内容を1行ずつ取り込んでデバッグプリントする方法を解説しました。 ただ、実際にエクセルで取り扱う場合は、この一行ずつの文字列をカンマで区切って表形式にする必要がありますよね。 今回は、Splitという命令を使ってCSVから取り込んだ一行ずつ取り込んだ文字列をカンマで区切ってワークシートに転記をする方法です。 では、いってみましょう! 前回のおさらい:CSVファイルを一行ずつ読み取るシンプルなプログラム まず前回のおさらいですが、プログラムはコチラでした。 [vb] ‘CSVファイルの取り込み 一行ずつ取得してDebug.Printをする Sub openCSV() Dim strPath As String strPath = “C:\Users\Noriaki\Dropbox\40_ブログ\vba-csv\test\ラーメン店アンケート.csv” Open strPath

    エクセルVBAでCSVデータをカンマで区切ってワークシートに取り込む方法 | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/12/16
    【ブログ更新】エクセルVBAでCSVデータをカンマで区切ってワークシートに取り込む方法 -
  • vbacでエクセルVBAのソースコードをGitバージョン管理する方法 | 隣IT

    みなさん、こんにちは! そろそろチームプレイも試したいタカハシ(@ntakahashi0505)です。 以前これらの記事で非エンジニアのための初心者向けGitバージョン管理や、Gitバージョン管理に便利なSource Treeの使い方についてお伝えしてきました。

    vbacでエクセルVBAのソースコードをGitバージョン管理する方法 | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/11/16
    【ブログ更新】vbacでエクセルVBAのソースコードをGitバージョン管理する方法 -
  • 【エクセルVBAでIE操作】ページ内のリンク先URLを全部取得する | 隣IT

    エラーを発生させずにHTMLドキュメントを取得するためにブラウザの読み込み待ち処理を入れる方法をお伝えしました。 今回からいよいよ開いたページに対して色々な操作をしていきたいと思います。 まず手始めに、Linksという命令とFor Each~Nextという繰り返し処理を用いてページ内のリンク先URLを全て取得する方法についてお伝えします。 では、よろしくお願いします! 前回のおさらい 前回のプログラムはこちらでした。 Sub MySub() Dim objIE As InternetExplorer Set objIE = New InternetExplorer objIE.Visible = True objIE.Navigate "https://tonari-it.com/" Do While objIE.Busy = True Or objIE.readyState < READ

    【エクセルVBAでIE操作】ページ内のリンク先URLを全部取得する | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/10/04
    【ブログ更新】【エクセルVBAでIE操作】ページ内のリンク先URLを全部取得する -
  • 【エクセルVBAでIE操作】ディスクリプションなどの要素をname属性でGetする | 隣IT

    ページ内に存在しているリンク先URLをまとめて取得する方法についてお伝えしました。 今回のお題はSEOでとても重要な役割を果たす「ディスクリプション」。 ディスクリプションとは何か、そしてmetaタグの役割なども踏まえつつ、まさにgetElements~といった命令を使うことで、ページ内からディスクリプションを取得していきたいと思います。 ディスクリプションとは何か まずディスクリプションとは何かという話ですが、アルファベットではdescriptionと書き、日語としては「説明」とか「解説」とかいった訳になります。 その名の通り、そのページの説明書きを表す部分でして、例えばGoogleで検索した結果で いうと この部分に表示されるものです。 SEOでも非常に重要な役割を果たしていまして、Googleのクローラーはこのディスクリプションに記載されているキーワードを重要視して検索結果の順位を

    【エクセルVBAでIE操作】ディスクリプションなどの要素をname属性でGetする | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/10/04
    【ブログ更新】【エクセルVBAでIE操作】ディスクリプションなどの要素をname属性でGetする -
  • 【エクセルVBAでIE操作】ブラウザの読み込み待ちをしないとダメなのです | 隣IT

    HTMLタグと要素についての説明とHTMLドキュメントの取得についてのお話をしました。 ですが、実際に動かしてみたらエラーが出た…という明らかに中途半端なところで終わらしてしまってごめんなさい。 今回はIEの読み込み待ちの処理を入れることで、そのエラーをバッチリ解決していきますよ。 この処理はVBAでIEを扱う限りはほとんどの場合で必要となる処理ですので、ぜひ覚えて頂ければと思います。 前回のおさらい 前回のプログラムはこちらでした。 Sub MySub() Dim objIE As InternetExplorer Set objIE = New InternetExplorer objIE.Visible = True objIE.Navigate "https://tonari-it.com/" Dim htmlDoc As HTMLDocument Set htmlDoc = ob

    【エクセルVBAでIE操作】ブラウザの読み込み待ちをしないとダメなのです | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/09/22
    【ブログ更新】【エクセルVBAでIE操作】ブラウザの読み込み待ちをしないとダメなのです -
  • 【エクセルVBAでIE操作】HTMLタグと要素そしてドキュメントの取得 | 隣IT

    今回は次のステップとして、HTMLについて簡単に説明をしつつ開いたページのHTMLドキュメントを取得する方法についてお伝えします。 格的にWEBスクレイピングするまでもう少しだけかかりますが、お付き合いくださいませ。 どうぞよろしくお願いします! 前回のおさらい 前回作ったプログラムはこちらでした。 Sub MySub() Dim objIE As InternetExplorer Set objIE = New InternetExplorer objIE.Visible = True objIE.Navigate "https://tonari-it.com/" End Sub IEオブジェクト変数を用意して、新規IEオブジェクトをセットして、IEを表示して、指定URLのページを開くという内容でした。 今回はせっかく開いたページからHTMLドキュメントを取得しますが、まずこのHTML

    【エクセルVBAでIE操作】HTMLタグと要素そしてドキュメントの取得 | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/09/20
    【ブログ更新】【エクセルVBAでIE操作】HTMLタグと要素そしてドキュメントの取得 -
  • 【エクセルVBA入門】マクロでVLookupメソッドを使ってデータを検索する方法 | 隣IT

    開いたブックのファイル名から番号を切り出して、さらにそれを数値型に変換する方法をお伝えしました。 このようにして、社員Noを取得することができましたので、それをキーにして他のデータを引っ張ってきます。そう、エクセルユーザーはみんな大好き、VLOOKUP関数です。 ということで、エクセルVBAでVLOOKUP関数を使ってデータを検索する方法です。 では、行ってみましょう! 前回までのおさらい 前回までに作成したコードはコチラです。 Sub 経費精算データ取り込み() Dim fso As FileSystemObject Set fso = New FileSystemObject Dim di As Long: di = wsData.Cells(Rows.Count, 1).End(xlUp).Row + 1 Dim f As File For Each f In fso.GetFold

    【エクセルVBA入門】マクロでVLookupメソッドを使ってデータを検索する方法 | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/08/26
    【ブログ更新】【エクセルVBA入門】人為的なミスを回避する方法その2~マスタを利用 -
  • 【エクセルVBA入門】開いたブック名から文字列を抽出して人為的なミスを回避する方法 | 隣IT

    最終行数を求め、経費データを追加していけるように修正をしました。 さて、実際に業務に使う場合、他のユーザーが間違えて想定しない入力をしてしまったりすることがあります。 そのような問題を先回りして備えることで、業務全体の精度や効率を上げていくことができるようになりますよね。 今回から、そのいくつかのテクニックについてお伝えしていきますよ。 まずは、「ファイル名」を活用してみたいと思います。 ということで、エクセルVBAで開いたブックのファイル名から指定した文字数の文字列を抜き出す方法です。 では、行ってみましょう! 前回のおさらい まずおさらいからです。 マクロを記述しているブックには以下のようなデータを集めるための「経費データ」というシートがあります。 各スタッフがそれぞれ作成した経費精算書が、同じフォルダの「data」というフォルダ配下にゴソっと格納されていて、その経費データを収集しよう

    【エクセルVBA入門】開いたブック名から文字列を抽出して人為的なミスを回避する方法 | 隣IT
    ntakahashi0505
    ntakahashi0505 2015/08/22
    【ブログ更新】【エクセルVBA入門】人為的なミスを回避する方法その1~ファイル名を活用する -
  • 1