Page 1 of 1
เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Mon Jul 08, 2024 4:07 pm
by Serverchita
สร้าง Smart Art แล้วจะต้องปรับ code อย่างไรให้ข้อความใน A1 และ B1 อยู่ในกลุ่มเดียวกัน ตามภาพตัวอย่างที่ 1 ในไฟล์แนบ ที่มี AXXXX01 และ X0000v1 อยู่กลุ่มเดียวกัน (ถ้าเพิ่ม Code เพิ่มรูปเข้าไปใน SmartArt แต่ละช่องได้ด้วยก็ขอบคุณครับ โดยใช้วิธี ที่อยู่รูปจาก Column C ครับ)
Code: Select all
Sub SmartArtTest()
Dim oSALayout As SmartArtLayout
Set oSALayout = Application.SmartArtLayouts(135) 'Get a reference to the "heirarchy" smartart form.
'Create a smartart shape
Set oShp = ActiveWorkbook.ActiveSheet.Shapes.AddSmartArt(oSALayout)
For i = 1 To 5 'clears all the default excel shapes
oShp.SmartArt.AllNodes(1).Delete
Next
For i = 1 To 5
oShp.SmartArt.AllNodes.Add
oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text = Range("A" & i).Value
oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text = Range("B" & i).Value
Next
End Sub
Re: เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Sun Jul 14, 2024 8:55 am
by snasui
ขออภัยครับ เพิ่งเห็นโพสต์นี้
ช่วยอธิบายเพิ่มเติมว่าพิจารณาอย่างไรว่าเป็นกลุ่มเดียวกัน วาดภาพประกอบเพิ่มเติมมาด้วยจะช่วยให้เข้าใจได้ง่ายขึ้นครับ
Re: เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Wed Jul 17, 2024 4:52 pm
by Serverchita
snasui wrote: Sun Jul 14, 2024 8:55 am
ขออภัยครับ เพิ่งเห็นโพสต์นี้
ช่วยอธิบายเพิ่มเติมว่าพิจารณาอย่างไรว่าเป็นกลุ่มเดียวกัน วาดภาพประกอบเพิ่มเติมมาด้วยจะช่วยให้เข้าใจได้ง่ายขึ้นครับ
จากภาพตัวอย่างในกรอบสีแดงครับ Row 1 ก็จะเป็นกรอบที่ 1 และ Row 2 ก็จะเป็นกรอบที่ 2 ครับ สร้างไปเรื่อยๆ จนครบ Loop ที่ 22 ครับ
Screenshot 2024-07-17 164930.jpg
Re: เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Wed Jul 17, 2024 6:33 pm
by snasui
ตัวอย่างการปรับ Code ครับ
Code: Select all
Sub SmartArtTest()
Dim rng As Range, r As Range
Dim oSALayout As SmartArtLayout
Set oSALayout = Application.SmartArtLayouts(135) 'Get a reference to the "heirarchy" smartart form.
'Create a smartart shape
With ActiveWorkbook.ActiveSheet
If .Shapes.Count > 0 Then .Shapes(1).Delete
Set oShp = .Shapes.AddSmartArt(oSALayout)
Set rall = .Range("a1", .Range("a" & .Rows.Count).End(xlUp))
End With
For i = 1 To oShp.SmartArt.AllNodes.Count - 1 'clears all the default excel shapes
oShp.SmartArt.AllNodes(1).Delete
Next
' For i = 1 To 5
i = 1
For Each r In rall
oShp.SmartArt.AllNodes.Add
oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text = Range("A" & i).Value
oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text = Range("B" & i).Value
i = i + 1
Next r
oShp.SmartArt.AllNodes(oShp.SmartArt.AllNodes.Count).Delete
End Sub
Re: เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Fri Jul 19, 2024 11:36 am
by Serverchita
จากที่ลอง Code ดูแล้ว เป็นการปรับให้ Loop เอาค่าให้ได้ 22 row เท่านั้นครับ
แต่ยังไม่ได้ตามตัวอย่างภาพที่ผมตัดให้ครับ ซึ่งจะมีข้อความจาก column A และ B ด้วย
Re: เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Fri Jul 19, 2024 9:28 pm
by snasui
ต้องการให้แสดงข้อความจากทั้งสองคอลัมน์สามารถปรับเป็นด้านล่างได้ครับ
Code: Select all
'Other code
For Each r In rall
oShp.SmartArt.AllNodes.Add
oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text = Range("B" & i).Value
oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text = oShp.SmartArt.AllNodes(i).TextFrame2.TextRange.Text & _
vbCrLf & Range("A" & i).Value
i = i + 1
Next r
'Other code
Re: เพิ่มข้อความ + เพิ่มรูปภาพ ใน SmartArt
Posted: Wed Jul 31, 2024 7:34 pm
by Serverchita
ใช้ได้แล้วครับ ขอบคุณครับ