<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>実践テクニック | IMEER LAB｜Excel・AI・自動化ブログ</title>
	<atom:link href="https://lab.imeer.jp/category/vba/vba-techniques/feed/" rel="self" type="application/rss+xml" />
	<link>https://lab.imeer.jp</link>
	<description>VBA・ChatGPT・WordPress、ときどき猫。</description>
	<lastBuildDate>Sun, 28 Sep 2025 22:20:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://lab.imeer.jp/wp-content/uploads/2026/05/cropped-847f523550b64f03abd735470ce0664c-32x32.jpg</url>
	<title>実践テクニック | IMEER LAB｜Excel・AI・自動化ブログ</title>
	<link>https://lab.imeer.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AccessやGoogleスプレッドシートと連携するVBAの基礎</title>
		<link>https://lab.imeer.jp/access%e3%82%84google%e3%82%b9%e3%83%97%e3%83%ac%e3%83%83%e3%83%89%e3%82%b7%e3%83%bc%e3%83%88%e3%81%a8%e9%80%a3%e6%90%ba%e3%81%99%e3%82%8bvba%e3%81%ae%e5%9f%ba%e7%a4%8e/</link>
					<comments>https://lab.imeer.jp/access%e3%82%84google%e3%82%b9%e3%83%97%e3%83%ac%e3%83%83%e3%83%89%e3%82%b7%e3%83%bc%e3%83%88%e3%81%a8%e9%80%a3%e6%90%ba%e3%81%99%e3%82%8bvba%e3%81%ae%e5%9f%ba%e7%a4%8e/#respond</comments>
		
		<dc:creator><![CDATA[Nori]]></dc:creator>
		<pubDate>Sun, 28 Sep 2025 22:20:14 +0000</pubDate>
				<category><![CDATA[Excel VBA]]></category>
		<category><![CDATA[実践テクニック]]></category>
		<guid isPermaLink="false">https://lab.imeer.jp/?p=377</guid>

					<description><![CDATA[目次 はじめにExcelとAccessの連携（基本編）1. AccessデータをExcelに取り込むサンプルコードポイント2. ExcelからAccessへデータを追加するサンプルコードExcelとGoogleスプレッド [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">ExcelとAccessの連携（基本編）</a><ol><li><a href="#toc3" tabindex="0">1. AccessデータをExcelに取り込む</a><ol><li><a href="#toc4" tabindex="0">サンプルコード</a></li><li><a href="#toc5" tabindex="0">ポイント</a></li></ol></li><li><a href="#toc6" tabindex="0">2. ExcelからAccessへデータを追加する</a><ol><li><a href="#toc7" tabindex="0">サンプルコード</a></li></ol></li></ol></li><li><a href="#toc8" tabindex="0">ExcelとGoogleスプレッドシートの連携（基本編）</a><ol><li><a href="#toc9" tabindex="0">1. Google Sheets APIの準備</a></li><li><a href="#toc10" tabindex="0">2. データを取得するサンプルコード</a></li><li><a href="#toc11" tabindex="0">3. データを書き込むサンプルコード</a></li></ol></li><li><a href="#toc12" tabindex="0">実務での活用例</a></li><li><a href="#toc13" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>Excelは単体でも強力なツールですが、実務では「他のデータベースやクラウドサービスと連携したい」というニーズが高まっています。<br>特に多いのが次のケースです。</p>



<ul class="wp-block-list">
<li><strong>AccessとExcelを連携させて、データを自動で取得・更新したい</strong></li>



<li><strong>Googleスプレッドシートにあるデータを取り込みたい</strong></li>



<li><strong>Excelで作成した集計結果をクラウドに共有したい</strong></li>
</ul>



<p>こうした作業も、<strong>VBA（Visual Basic for Applications）</strong> を使えば可能です。<br>この記事では、初心者向けに <strong>Access連携とGoogleスプレッドシート連携の基礎</strong> を解説します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">ExcelとAccessの連携（基本編）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">1. AccessデータをExcelに取り込む</span></h3>



<p>AccessのテーブルをExcelに直接読み込むことができます。</p>



<h4 class="wp-block-heading"><span id="toc4">サンプルコード</span></h4>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Sub ImportFromAccess()
    Dim cn As Object
    Dim rs As Object
    Dim sql As String
    Dim row As Long
    
    &#039; 接続文字列（パスを環境に合わせて変更）
    Set cn = CreateObject(&quot;ADODB.Connection&quot;)
    cn.Open &quot;Provider=Microsoft.ACE.OLEDB.12.0;&quot; &amp;amp; _
            &quot;Data Source=C:\Database\sample.accdb;&quot;
    
    &#039; SQL文
    sql = &quot;SELECT * FROM 売上データ&quot;
    
    Set rs = cn.Execute(sql)
    row = 2
    
    &#039; フィールド名を出力
    For i = 0 To rs.Fields.Count - 1
        Cells(1, i + 1).Value = rs.Fields(i).Name
    Next i
    
    &#039; データを出力
    Do Until rs.EOF
        For i = 0 To rs.Fields.Count - 1
            Cells(row, i + 1).Value = rs.Fields(i).Value
        Next i
        rs.MoveNext
        row = row + 1
    Loop
    
    rs.Close
    cn.Close
End Sub

</pre></div>


<h4 class="wp-block-heading"><span id="toc5">ポイント</span></h4>



<ul class="wp-block-list">
<li><code>ADODB.Connection</code> を使ってAccessに接続</li>



<li>SQLでデータを指定し、Excelに転記</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">2. ExcelからAccessへデータを追加する</span></h3>



<p>売上入力やマスタ更新をExcelから行い、そのままAccessに反映することも可能です。</p>



<h4 class="wp-block-heading"><span id="toc7">サンプルコード</span></h4>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Sub ExportToAccess()
    Dim cn As Object
    Dim sql As String
    Dim name As String
    Dim amount As Long
    
    name = Range(&quot;A2&quot;).Value
    amount = Range(&quot;B2&quot;).Value
    
    Set cn = CreateObject(&quot;ADODB.Connection&quot;)
    cn.Open &quot;Provider=Microsoft.ACE.OLEDB.12.0;&quot; &amp;amp; _
            &quot;Data Source=C:\Database\sample.accdb;&quot;
    
    sql = &quot;INSERT INTO 売上データ (顧客名, 金額) &quot; &amp;amp; _
          &quot;VALUES(&#039;&quot; &amp;amp; name &amp;amp; &quot;&#039;, &quot; &amp;amp; amount &amp;amp; &quot;)&quot;
    cn.Execute sql
    
    cn.Close
    MsgBox &quot;Accessにデータを登録しました！&quot;
End Sub

</pre></div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc8">ExcelとGoogleスプレッドシートの連携（基本編）</span></h2>



<p>Googleスプレッドシートはクラウド上で共有できるため、リモートワークやチーム作業で人気です。<br>VBAから直接操作する場合は、<strong>Google Sheets API</strong> を利用します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">1. Google Sheets APIの準備</span></h3>



<ol class="wp-block-list">
<li>Google Cloud Consoleでプロジェクトを作成</li>



<li>Google Sheets APIを有効化</li>



<li>APIキーまたはOAuth認証情報を取得</li>



<li>VBAで利用するために「WinHttp」や「MSXML2.XMLHTTP」を使用</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc10">2. データを取得するサンプルコード</span></h3>



<p>以下はシートからデータを取得する例です。</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Sub GetGoogleSheetData()
    Dim http As Object
    Dim JSON As Object
    Dim URL As String
    
    &#039; APIキーとシートIDを設定
    URL = &quot;https://sheets.googleapis.com/v4/spreadsheets/{シートID}/values/Sheet1!A1:D10?key={APIキー}&quot;
    
    Set http = CreateObject(&quot;MSXML2.XMLHTTP&quot;)
    http.Open &quot;GET&quot;, URL, False
    http.Send
    
    &#039; 結果を確認（JSON形式で返る）
    MsgBox http.responseText
End Sub

</pre></div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc11">3. データを書き込むサンプルコード</span></h3>



<p>Google Sheets APIに対して <code>POST</code> リクエストを送ることで、Excelのデータをシートに書き込むことも可能です。<br>ただし、<strong>OAuth認証</strong> が必要になるため、少し難易度が上がります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc12">実務での活用例</span></h2>



<ul class="wp-block-list">
<li><strong>Accessとの連携</strong><br>→ 顧客データベースをAccessに集約し、Excelから入力・集計を行う。</li>



<li><strong>Googleスプレッドシートとの連携</strong><br>→ 出張先や在宅勤務中でも、Excelからクラウドに自動アップロード。<br>→ チーム全員が同じシートを閲覧・編集可能。</li>



<li><strong>ハイブリッド運用</strong><br>→ Accessで基幹データを管理し、必要な部分をGoogleスプレッドシートで共有。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc13">まとめ</span></h2>



<ul class="wp-block-list">
<li>ExcelはVBAを使えば、AccessやGoogleスプレッドシートと連携できる</li>



<li><strong>Access連携</strong>：ADODBでデータの取り込み・書き込み</li>



<li><strong>Google Sheets連携</strong>：APIを利用してクラウドデータを操作</li>



<li>実務に応用すれば、手作業が減り、データ共有・更新がスムーズに</li>
</ul>



<p>これらの連携を覚えると、Excelの可能性は一気に広がります。<br>ぜひまずはサンプルコードを試し、業務に活かしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lab.imeer.jp/access%e3%82%84google%e3%82%b9%e3%83%97%e3%83%ac%e3%83%83%e3%83%89%e3%82%b7%e3%83%bc%e3%83%88%e3%81%a8%e9%80%a3%e6%90%ba%e3%81%99%e3%82%8bvba%e3%81%ae%e5%9f%ba%e7%a4%8e/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VBAで作る！毎日の作業を自動化するマクロ3選</title>
		<link>https://lab.imeer.jp/vba%e3%81%a7%e4%bd%9c%e3%82%8b%ef%bc%81%e6%af%8e%e6%97%a5%e3%81%ae%e4%bd%9c%e6%a5%ad%e3%82%92%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%99%e3%82%8b%e3%83%9e%e3%82%af%e3%83%ad3%e9%81%b8/</link>
					<comments>https://lab.imeer.jp/vba%e3%81%a7%e4%bd%9c%e3%82%8b%ef%bc%81%e6%af%8e%e6%97%a5%e3%81%ae%e4%bd%9c%e6%a5%ad%e3%82%92%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%99%e3%82%8b%e3%83%9e%e3%82%af%e3%83%ad3%e9%81%b8/#respond</comments>
		
		<dc:creator><![CDATA[Nori]]></dc:creator>
		<pubDate>Sun, 28 Sep 2025 22:16:43 +0000</pubDate>
				<category><![CDATA[Excel VBA]]></category>
		<category><![CDATA[実践テクニック]]></category>
		<guid isPermaLink="false">https://lab.imeer.jp/?p=372</guid>

					<description><![CDATA[目次 はじめにマクロ1：シート内の不要な空白行を削除するコード例解説マクロ2：複数シートのデータを1枚に集約するコード例解説マクロ3：毎日のレポートを自動で保存するコード例解説実務での活用の広がりまとめ はじめに Exc [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">マクロ1：シート内の不要な空白行を削除する</a><ol><li><a href="#toc3" tabindex="0">コード例</a></li><li><a href="#toc4" tabindex="0">解説</a></li></ol></li><li><a href="#toc5" tabindex="0">マクロ2：複数シートのデータを1枚に集約する</a><ol><li><a href="#toc6" tabindex="0">コード例</a></li><li><a href="#toc7" tabindex="0">解説</a></li></ol></li><li><a href="#toc8" tabindex="0">マクロ3：毎日のレポートを自動で保存する</a><ol><li><a href="#toc9" tabindex="0">コード例</a></li><li><a href="#toc10" tabindex="0">解説</a></li></ol></li><li><a href="#toc11" tabindex="0">実務での活用の広がり</a></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>Excelを使った日々の業務には、繰り返しの作業がたくさんあります。<br>「同じコピー＆ペーストを毎日している」<br>「フォーマットを整えるのに時間がかかる」<br>「集計やレポート作成が単調でつらい」</p>



<p>こうした業務は、<strong>Excel VBA（Visual Basic for Applications）</strong> を使えば自動化できます。最初は難しそうに感じるかもしれませんが、実は数行のコードで効果抜群の自動化が可能です。</p>



<p>この記事では、初心者でもすぐに試せる <strong>自動化マクロ3選</strong> を紹介します。業務効率を一気に高めるきっかけにしてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">マクロ1：シート内の不要な空白行を削除する</span></h2>



<h3 class="wp-block-heading"><span id="toc3">コード例</span></h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Sub DeleteEmptyRows()
    Dim i As Long
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
        If WorksheetFunction.CountA(Rows(i)) = 0 Then
            Rows(i).Delete
        End If
    Next i
End Sub

</pre></div>


<h3 class="wp-block-heading"><span id="toc4">解説</span></h3>



<ul class="wp-block-list">
<li>ワークシートの1行目から最終行までチェック</li>



<li>完全に空白の行を見つけたら削除</li>
</ul>



<p><strong>実務での効果</strong><br>アンケートデータやインポートしたCSVにありがちな「空白行」を一瞬で整理できます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">マクロ2：複数シートのデータを1枚に集約する</span></h2>



<h3 class="wp-block-heading"><span id="toc6">コード例</span></h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Sub MergeSheets()
    Dim ws As Worksheet
    Dim wsMaster As Worksheet
    Dim rng As Range
    Dim lastRow As Long
    Dim pasteRow As Long
    
    Set wsMaster = ThisWorkbook.Sheets(&quot;集計シート&quot;)
    pasteRow = 1
    
    For Each ws In ThisWorkbook.Sheets
        If ws.Name &amp;lt;&gt; wsMaster.Name Then
            lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
            Set rng = ws.Range(&quot;A1:A&quot; &amp;amp; lastRow)
            rng.Copy wsMaster.Cells(pasteRow, 1)
            pasteRow = wsMaster.Cells(wsMaster.Rows.Count, 1).End(xlUp).Row + 1
        End If
    Next ws
End Sub

</pre></div>


<h3 class="wp-block-heading"><span id="toc7">解説</span></h3>



<ul class="wp-block-list">
<li>複数のシートをループ処理</li>



<li>各シートのデータを「集計シート」に順次コピー</li>
</ul>



<p><strong>実務での効果</strong><br>営業所ごとの売上データや部門別の報告書を、1枚のシートにまとめて集計する作業を自動化できます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc8">マクロ3：毎日のレポートを自動で保存する</span></h2>



<h3 class="wp-block-heading"><span id="toc9">コード例</span></h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Sub SaveDailyReport()
    Dim filePath As String
    Dim todayDate As String
    
    todayDate = Format(Date, &quot;yyyymmdd&quot;)
    filePath = &quot;C:\Reports\Report_&quot; &amp;amp; todayDate &amp;amp; &quot;.xlsx&quot;
    
    ThisWorkbook.SaveCopyAs filePath
    MsgBox &quot;本日のレポートを保存しました: &quot; &amp;amp; filePath
End Sub

</pre></div>


<h3 class="wp-block-heading"><span id="toc10">解説</span></h3>



<ul class="wp-block-list">
<li>実行すると「今日の日付入りファイル」を自動で保存</li>



<li>保存先フォルダとファイル名を自動生成</li>
</ul>



<p><strong>実務での効果</strong><br>日報やバックアップを毎日保存する作業を自動化できます。ファイル名の付け間違いもなくなり、管理が楽になります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc11">実務での活用の広がり</span></h2>



<p>今回紹介した3つのマクロは、ほんの入口にすぎません。</p>



<ul class="wp-block-list">
<li><strong>フォーマット調整</strong>（列幅や罫線を一括設定）</li>



<li><strong>メール送信</strong>（Outlookと連携して自動送信）</li>



<li><strong>Webデータの取得</strong>（株価や為替を自動で取り込み）</li>
</ul>



<p>など、VBAを使えば「面倒な手作業の多く」を自動化できます。</p>



<p>最初はサンプルコードをコピーして試し、少しずつ自分の業務に合わせてカスタマイズしていくのがおすすめです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc12">まとめ</span></h2>



<ul class="wp-block-list">
<li>Excel VBAを使えば、毎日の単調作業を一気に効率化できる</li>



<li>今回紹介したマクロは次の3つ
<ol class="wp-block-list">
<li>空白行の削除</li>



<li>複数シートの集約</li>



<li>日付入りレポートの自動保存</li>
</ol>
</li>



<li>コードをコピーして実行するだけでも効果は絶大</li>
</ul>



<p>VBAは最初の一歩さえ踏み出せば、日々の業務を大きく変える力を持っています。<br>「Excel作業が大変だな」と感じたら、まずはこの記事のマクロから試してみましょう。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://lab.imeer.jp/vba%e3%81%a7%e4%bd%9c%e3%82%8b%ef%bc%81%e6%af%8e%e6%97%a5%e3%81%ae%e4%bd%9c%e6%a5%ad%e3%82%92%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%99%e3%82%8b%e3%83%9e%e3%82%af%e3%83%ad3%e9%81%b8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
