Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
ABC〜から最後の値 で質問のラングドシャ さんへ
投稿日時: 17/02/17 15:11:00
投稿者: WinArrow
投稿者のウェブサイトに移動

>VBAで追加し
と書かれてたので
[アイテム一覧ブック.xlsx]を開かすにできる方法を
提案します。
 
Const cnsProvider = "Microsoft.Ace.OLEDB.12.0"
Const cnsExtProp = "Extended Properties"
Const cnsExcel = "Excel 12.0"
Const cnsDBName = [アイテム一覧ブック.xlsx]のパス
Const cnsYen = "\"
 
 
Sub test()
   Dim dbCon As Object
    Dim dbRes As Object
    Dim GYO As Long, COL As Long
    Dim strSQL As String
 
 
    Set dbCon = CreateObject("ADODB.Connection")
    With dbCon
        .Provider = cnsProvider
        .Properties(cnsExtProp) = cnsExcel
        .Open cnsDBName
    End With
    strSQL = "SELECT MAX(種類) FROM [Sheet1$] WHERE アイテム番号='" & Range("D2").Value & "'"
  '
    With dbCon.Execute(strSQL)
        If Not .EOF Then
            Range("E2").Value = .Fields(0).Value
        End If
        .Close
    End With
    dbCon.Close
End Sub
 
※セルD2に検索となるアイテム番号
※セルE2に取得した種類を格納する
※マクロ実行タイミングは検討ください。
 

回答
投稿日時: 17/02/17 15:54:29
投稿者: ラングドシャ

WinArrow様
 
わざわざご提案くださいましてありがとうございます。
質問を閉めなければよかったですね。本当にすみません。
早速、Workbook_Open()にて非表示で開くよう設定しておりましたが
WinArrowさんの方法のほうが断然スマートですね。
 
VBAに精通しておりませんので、いただいたサンプルコードをどこまで
改造できるかわかりませんが、今後のためにも試してみます。
本当にありがとうございました。

投稿日時: 17/02/17 16:37:33
投稿者: WinArrow
投稿者のウェブサイトに移動

お役に立てたようで、よかったです。
閉じます。