大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、入出力シートからデータの取得と転記する方法について、ご紹介します。ForとIfを使って、データを検索することで、データベースにデータの取得と転記をすることができます。入出力シートからデータベースを操作できると便利になります。データの取得と転記について、マスターしていきましょう。

はじめに

この記事では、入出力シートでデータベースから値を取得する方法と、値を転記する方法についてご紹介します。

データベースから値を取得するには、ForとIfを使って値を検索して、データの取得と転記をするとできます。

任意で作成した入出力フォームから、値の取得と転記ができるようになると便利です。

データベースから値を取得する方法と、転記する方法について、マスターしていきましょう。

では、入出力シートかでデータベースから値を取得する方法と、転記する方法について、解説していきます。

この記事を読むメリット

  • 入出力シートでデータベースから値を取得したり、値を転記する方法がわかります。

本記事の内容を動画にて解説しております。

本記事の内容を動画にて解説しております。

VBAコードの作成手順について、動画で確認できます。

目次から見たい項目へ移動すると便利ですよ。

目次

入出力シートからデータの取得と転記をしたい

入出力シートからデータの取得と転記をしていきます。

やりたい内容

やりたい内容は、入出力シートからデータベースを操作したいということになります。

入出力シートからデータベースを操作したい

データベースを、入出力シートから操作したいです。

データベースを、入出力シートから操作したいです

入出力シートからデータベースを操作します。

入出力シートからデータベースを操作します

入出力シートを使って、データベースから値を取得できます。

値の取得

「A」を選択してみます。

「A」を選択してみます

「A」のデータを取得できます。

「A」のデータを取得できました

「A」のデータを取得できました。

入出力シートからデータベースに、値を転記できます。

値の転記

データを変更してみます。

データを変更してみます

ボタンをクリックして、「はい」をクリックします。

ボタンをクリックして、「はい」をクリックします

データベースに転記できます。

データベースに転記できます

データベースをみてみます。

データベースに転記できました

データベースに転記できています。

VBAコードを作成

VBAコードを作成していきます。

入出力フォームを作成

まずは、入出力フォームを作成します。

入出力フォームを作成

入出力フォームを作成します

では、VBAコードを作成していきます。

入出力シートからデータを取得

入出力シートからデータを取得するVBAコードです。

ForとIfで、一致する商品を検索して、値を取得します。

Sub GetData()
  
  'データベースをループ
  For i = 2 To Sheets("DB").Cells(Rows.Count, "A").End(xlUp).Row
    '商品が一致したら、値を取得
    If Sheets("入出力").Range("B3") = Sheets("DB").Cells(i, "A") Then
      Sheets("入出力").Range("D3") = Sheets("DB").Cells(i, "B") '価格
      Sheets("入出力").Range("B5") = Sheets("DB").Cells(i, "C") '残り数量
      Sheets("入出力").Range("B6") = Sheets("DB").Cells(i, "D") '必要数量
      Sheets("入出力").Range("A8") = Sheets("DB").Cells(i, "E") '備考
    End If
  Next
  
End Sub

「A」の値を取得してみます。

「A」の値を取得してみる

「A」を入力します。

「A」を検索してみます

実行すると、データベースから「A」の値を取得できます。

データベースから「A」の値を取得できました

データベースから「A」の値を取得できました。

リストを作成

商品を入力する際に、リストから選択できるようにすると便利です。

入力規則のリストを設定して、商品のリストを作成します。

入力規則でリストを登録

入力規則のリストを設定して、商品のリストを作成します

商品をリストから選択できるようになります。

リストから選択できる

商品をリストから選択できるようになります

商品をリストから選択できるようになりました。

Changeイベントを使う

商品を選択したタイミングで、値を取得できるように、Changeイベントを使って、VBAコードを実行します。

Private Sub Worksheet_Change(ByVal Target As Range)
  
  'B3以外が変更された場合は、処理を終了
  If Target.Address(False, False) <> "B3" Then Exit Sub
  
  'データを取得する
  Call GetData
  
End Sub

商品を選択してみます。

商品を選択する

商品を選択してみます

商品を選択したタイミングで、データベースから値を取得できます。

選択したタイミングで値を取得できた

商品を選択したタイミングで、データベースから値を取得できました

商品を選択したタイミングで、データベースから値を取得できました。

入出力シートからデータを転記

次は、入出力シートからデータベースにデータを転記するVBAコードを作成していきます。

転記するVBAコードは、次のようになります。

Sub WriteData()
  
  Dim A
  '確認メッセージを表示
  A = MsgBox("データベースに転記しますか?", vbYesNo + vbQuestion, "確認")
  If A = vbNo Then Exit Sub
  
  'データベースをループ
  For i = 2 To Sheets("DB").Cells(Rows.Count, "A").End(xlUp).Row
    '商品が一致したら、データを転記
    If Sheets("入出力").Range("B3") = Sheets("DB").Cells(i, "A") Then
      Sheets("DB").Cells(i, "B") = Sheets("入出力").Range("D3") '価格
      Sheets("DB").Cells(i, "C") = Sheets("入出力").Range("B5") '残り数量
      Sheets("DB").Cells(i, "D") = Sheets("入出力").Range("B6") '必要数量
      Sheets("DB").Cells(i, "E") = Sheets("入出力").Range("A8") '備考
    End If
  Next
  
  MsgBox "データベースに転記できました"
  
End Sub

値を変更してみます。

値を変更

値を変更してみます

では、VBAコードを実行してみます。

データベースに転記

VBAコードを実行するとメッセージボックスが表示されるので、「はい」を選択します。

VBAコードを実行して、メッセージボックスで「はい」を選択します

データベースに値を転記できます。

データベースに値を転記できます

データベースを確認してみます。

データベースに値を転記できました

データベースに値を転記できています。

ボタンを追加

ボタンを追加してボタンのクリックで、データを転記できるようにしていきます。

ボタンを追加して、マクロを登録します。

ボタンを追加して登録

ボタンを追加して、マクロを登録します

ボタンクリックで転記することができます。

ボタンクリックで転記する

ボタンをクリックして、データベースに転記できます。

ボタンをクリックして、データベースに転記できます

データベースに転記できます。

データベースに転記できました

データベースに転記できました。

おわりに

この記事では、入出力シートでデータベースから値を取得する方法と、値を転記する方法についてご紹介しました。

データベースから値を取得するには、ForとIfを使って値を検索して、データの取得と転記をするとできます。

任意で作成した入出力フォームから、値の取得と転記ができるようになると便利です。

データベースから値を取得する方法と、転記する方法について、マスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す