Page 1 of 1

ใส่ข้อความเพิ่มเติมให้ค่า Range ที่เลือก

Posted: Fri Sep 15, 2023 2:10 pm
by lekhot
เช่น เราเลือก cell ใดๆซึ่งมีค่า 2345
จาก code VBA ต้องการใส่ข้อความ "Z:\รูปY\" + c + ".jpg"
เพื่อให้ค่า c ที่ต้องการเป็น "Z:\PicturesY\2345.jpg"

Code: Select all

Public Sub addPictures()
    Dim c As Range ' current cell object
    Dim img_url As String
    
    Application.ScreenUpdating = False
    
    For Each c In Selection
    c.Value="Z:\PicturesY\" & c & ".jpg"
        addPictureUrlG a_cell:=c, img_url:=c.Value, row_offset:=0, col_offset:=0
    Next
    Application.ScreenUpdating = True
End Sub
ผมใช้วิธีเพิ่มข้อความเหมือนที่ใช้กับสูตรใน excel
จาก code นี้ มัน compile error ที่ ".jpg" ครับ

ใน VBA ต้องทำอย่างไร รบกวนด้วยครับ

Re: ใส่ข้อความเพิ่มเติมให้ค่า Range ที่เลือก

Posted: Fri Sep 15, 2023 2:30 pm
by Xcelvba
กรุณาแนบไฟล์ ที่เกี่ยวข้องมาด้วยครับ ตามกฎข้อ 4 เพื่อง่ายต่อการตอบคำถามของเพื่อนสมาชิกครับ :D

Re: ใส่ข้อความเพิ่มเติมให้ค่า Range ที่เลือก

Posted: Fri Sep 15, 2023 3:58 pm
by lekhot

Code: Select all

Public Sub addPictures()
    ' how to run: select a range contains image urls and run this macro
    ' add multiple pictures using values from selected range and place picture in the right column of selected range
    ' addPictures rngInput:=Selection, row_offset:=0, col_offset:=1
    Dim c As Range ' current cell object
    Dim img_url As String
    
    Application.ScreenUpdating = False
' ปรับความกว้างcolด้านขวา
'    Selection.Offset(0, 1).ColumnWidth = 18
    
    For Each c In Selection
        c.Value="D:\test_ali\picture\" &c& ".jpg"           ''' ต้องการเปลี่ยนค่า C เป็น D:\test_ali\picture\47122.jpg
'        DeleteShape MsoShapeType.msoPicture, c.Offset(0, 1)
        addPictureUrl a_cell:=c, img_url:=c.Value, row_offset:=0, col_offset:=2   ''' วางรูปในคอลัม c
'(ต่างที่col_offset:=0)วางรูปในช่องตัวเองเลย
'        addPictureUrl a_cell:=c, img_url:=c.Value, row_offset:=0, col_offset:=0
    Next
    Application.ScreenUpdating = True
End Sub

Re: ใส่ข้อความเพิ่มเติมให้ค่า Range ที่เลือก

Posted: Tue Sep 19, 2023 9:15 am
by snasui
:D การเชื่อมข้อความใน Code ควรมีการวรรค ไม่เช่นนั้น Excel จะเข้าใจผิดว่าเป็นการกำหนด Data Type (% คือ Integer, & คือ Long ฯลฯ) ครับ

จาก c.Value = "D:\test_ali\picture\" &c& ".jpg" เปลี่ยนเป็น c.Value = "D:\test_ali\picture\" & c & ".jpg"

Re: ใส่ข้อความเพิ่มเติมให้ค่า Range ที่เลือก

Posted: Mon Sep 25, 2023 11:49 am
by lekhot
เข้าใจแล้ว ทำได้แล้วครับ
ขอบคุณ คุณคนควนมากๆครับ