會翔
Lv 5
會翔 asked in 電腦與網際網路軟體 · 8 years ago

"巨集" 比對-取整排欄位資料+圖片

請教各位大師

如何做到"比對-取整排欄位資料+圖片" 的巨集應用呢?

sheet1 為資料來源 各品名分別有代號

圖片參考:http://images-share.net/image.php?di=ZIVU

在sheet2 的A攔下 如果輸入想要的代號 如A1 A2

圖片參考:http://images-share.net/image.php?di=DT6P

按下巨集按鈕 則會自動代入 sheet1 的資料 + 超連結圖片

圖片參考:http://images-share.net/image.php?di=FI5H

巨集已完成 "比對+取整排資料"

目前還差圖片 能煩請大師幫忙修改一下嗎?

Sub 按鈕1_Click()

For i = 2 To Sheets(1).[A65536].End(xlUp).Row

For j = 2 To Sheets(2).[A65536].End(xlUp).Row

If Sheets(2).Cells(j, 1).Value = Sheets(1).Cells(i, 1).Value Then

For k = 2 To 21

Sheets(2).Cells(j, k).Value = Sheets(1).Cells(i, k).Value

Next k

End If

Next j

Next i

End Sub

檔案下載:

http://www.funp.net/13276

Update:

參考 准大師

http://tw.knowledge.yahoo.com/question/question?qi...

小弟不才 目前只會用兩個程式去套

→無論代號在A攔或在B攔,載入圖片的巨集無法啟用

→無論圖片與程式在同一個資料夾或在子資料夾,載入圖片的巨集也還是無法啟用

請大師指點

修正:將圖片改成代號 A1~A6.jpg

http://www.funp.net/617218

3 Answers

Rating
  • 8 years ago
    Favorite Answer

    <範例檔>:

    http://www.funp.net/132996

    2013-02-07 13:45:14 補充:

    改成 Set ShpRng = .Cells(1, 6) 試試!

    2013-02-07 15:28:02 補充:

    <範例檔>:

    http://www.funp.net/779327

    我的EXCEL版本執行都正常(之前解答的問題也都OK)!

    現在只能加入SELECT讓插圖格為當前選取格!

    再不行,將檔案拿到別台PC試試,也許是您的EXCEL設定問題!

    或者將這一行 Application.ScreenUpdating = False 刪掉試試!

    2013-02-08 10:01:51 補充:

    EXCEL VBA.商品型錄.自動載入儲存格內容〔指定路徑〕的圖檔

                             <.准提部林.>

    ---------------------------------

    ■程式碼:僅列出主處理段,餘請參閱範例檔

     Sub 插入圖片()

     Dim xImgFile

     '↓抓圖片路徑及名稱  

     xImgFile = Application.VLookup(xRng, [Sheet1!A:F], 6, 0)

     '↓抓不到則跳出  

     If IsError(xImgFile) Then Exit Sub

     '↓測試用:暫用本檔路徑,實際使用時刪除  

     xImgFile = ThisWorkbook.Path & "\photo\" & _

           Mid(xImgFile, InStrRev(xImgFile, "\") + 1)

     If Dir(xImgFile) <> "" Then

       ShpRng.Select

       ActiveSheet.Pictures.Insert (xImgFile)

       With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)

         '↓設定圖片改變大小時,保持比率,以防止圖片產生〔扭曲〕  

         .LockAspectRatio = msoTrue

         '↓圖片〔寬度〕超過儲存格寬度時,才縮小  

         If .Width > ShpRng.Width - 2 Then .Width = ShpRng.Width - 2

         '↓圖片〔高度〕超過儲存格高度時,才縮小  

         If .Height > ShpRng.Height - 2 Then .Height = ShpRng.Height - 2

         '↓將圖片置於儲存格的〔正中央〕  

         .Left = ShpRng.Left + (ShpRng.Width - .Width) / 2

         .Top = ShpRng.Top + (ShpRng.Height - .Height) / 2

       End With

     End If

     End Sub

    ---------------------------------

    <範例檔>下載:

    檔案名稱:20130207v01(連續載入商品圖片).rar

    http://www.funp.net/779327

    ---------------------------------

  • 卡滋
    Lv 5
    8 years ago

    我有試過准大的檔案,2010版Excel可以正常使用,但是用2007年版就會像版大所說全部圖案重疊在B欄附近。

  • 會翔
    Lv 5
    8 years ago

    感謝准大

    我有看到圖片貼在F欄 的程式碼

    Set ShpRng = .Cells(1, "F")

    可是執行結果 他卻不是在F欄 卻全部重疊在B欄附近

    如圖

    http://images-share.net/image.php?di=X3CL

    2013-02-07 14:14:41 補充:

    已改了

    結果 還是一樣

    全部重疊在B欄附近

    2013-02-08 01:35:31 補充:

    我安裝2003版本就可正常使用

    請准大上答

    謝謝您 感謝您

Still have questions? Get your answers by asking now.