Page 1 of 1

การเปลี่ยนสกุลเงินต่างประเทศ

Posted: Tue Nov 20, 2018 9:09 am
by jirapat241
สวัสดีครับ
ผมได้ทำข้อมูลเกี่ยวกับการเปลี่ยนค่าสลับกันระหว่างสกุลเงินเยนกับสกุลเงินไทยบาท
โดย cell c คือตัวแปลงค่าสกุลเงิน
ถ้าเลือก T จะเปลี่ยนค่า cell l,m,n,o,p,q เป็นสกุลเงินบาท
ถ้าเลือก J จะเปลี่ยนค่า cell l,m,n,o,p,q เป็นสกุลเงินเยน
ผมได้ลองทำไว้ 2 cell คือ c6 และ c7 โดยข้อมูลผมมีประมาณ 500 records
จะมีวิธีที่ลดการเขียน code แบบเดิมซ้ำๆ 500 แบบได้ไหมครับ

Re: การเปลี่ยนสกุลเงินต่างประเทศ

Posted: Tue Nov 20, 2018 11:43 am
by astalavista
ลองปรับเป็น

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim iRow As Long
    Dim iFormat As String
    iRow = Target.Row
    If Target.Column = 3 And iRow >= 6 Then 'Column=3 (column C) iRow>=6 (start row)
        Select Case Range("C" & iRow)
            Case "J": iFormat = "\#,##0;\-#,##0"
            Case "T": iFormat = ChrW(3647) & "#,##0.00;-" & ChrW(3647) & "#,##0.00"
        End Select
        'Range("L" & iRow & ",M" & iRow & ",N" & iRow & ",O" & iRow & ",P" & iRow & ",Q" & iRow).NumberFormatLocal = iFormat
        Range("L" & iRow & ":Q" & iRow).NumberFormatLocal = iFormat
    End If
End Sub
ดูครับ

Re: การเปลี่ยนสกุลเงินต่างประเทศ

Posted: Tue Nov 20, 2018 11:51 am
by jirapat241
สามารถใช้งานได้แล้วครับ ขอบคุณครับ

Re: การเปลี่ยนสกุลเงินต่างประเทศ

Posted: Wed Nov 21, 2018 2:29 pm
by jirapat241
ขอรบกวนสอบถามเพิ่มเติมครับ พอดีลองปรับใช้ให้ใส่ข้อมูลได้หลายๆแถวแล้ว
โดยเลือกชนิดข้อมูลใน Cell C เป็น J ทั้งหมด เมื่อมีการพิมพ์เลขใน Cell L ต่อลงมาเรื่อยๆ
ปรากฏว่าข้อมูลบางช่องไม่เปลี่ยนครับ
p1.jpg

Re: การเปลี่ยนสกุลเงินต่างประเทศ

Posted: Wed Nov 21, 2018 3:46 pm
by astalavista
ลองปรับเป็น

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim iRange As Range
    Dim iFormat As String
    If Not Application.Intersect(Target, Range("C6:C10000")) Is Nothing Then
        For Each iRange In Target.Rows
                Select Case Range("C" & iRange.Row)
                    Case "J": iFormat = "\#,##0;\-#,##0"
                    Case "T": iFormat = ChrW(3647) & "#,##0.00;-" & ChrW(3647) & "#,##0.00"
                End Select
                Range("L" & iRange.Row & ":Q" & iRange.Row).NumberFormatLocal = iFormat
        Next
    End If
End Sub
ดูครับ

Re: การเปลี่ยนสกุลเงินต่างประเทศ

Posted: Wed Nov 21, 2018 4:22 pm
by jirapat241
ขอบคุณมากๆครับ สามารถใช้งานได้แล้วครับ