snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$E$8" Then
If Target = "Method 1" Then
Range("C11") = "**Please select data**"
Range("F15:H19") = 0
Else
Range("C11") = "**Please select data**"
Range("F15:H19").ClearContents
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Application.EnableEvents = False
If Target.Address = "$E$8" Then
If Target = "Method 1" Then
Range("C11") = "**Please select data**"
With ComboBox2
.Text = "Please Click & Select Data"
.ListFillRange = ""
.ShowDropButtonWhen = fmShowDropButtonWhenNever
End With
For Each r In Range("F15:F19")
If r.MergeCells Then
r = 0
Else
r = 0
End If
Next r
Else
Range("C11") = "**Please select data**"
With ComboBox2
.ListFillRange = "M24:M28"
.ShowDropButtonWhen = fmShowDropButtonWhenAlways
End With
For Each r In Range("F15:F19")
If r.MergeCells Then
r = ""
Else
r.ClearContents
End If
Next r
End If
End If
Application.EnableEvents = True
End Sub
Private Sub ComboBox2_Change()
If Range("xSourceEx") = "Custom" Then
xsourceex = InputBox(Prompt:="Enter Custom Quality Please.", Title:="PLEASE ENTER CUSTOM QUALITY", Default:="")
Range("xSourceEx") = xsourceex
If Not IsNumeric(xsourceex) Then
MsgBox "Please enter numeric."
ComboBox2.Text = ""
Exit Sub
End If
Range("xSourceEx").NumberFormat = "General "" (Custom)"""
Else
' Range("xSourceEx") = Range("xSourceEx")
Range("xSourceEx").NumberFormat = "General"
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Application.EnableEvents = False
If Target.Address = "$E$8" Then
If Target = "Method 1" Then
Range("C11") = "**Please select data**"
With ComboBox2
.Text = "Please Click & Select Data"
.ListFillRange = ""
.ShowDropButtonWhen = fmShowDropButtonWhenNever
End With
For Each r In Range("F15:F19")
If r.MergeCells Then
r = 0
Else
r = 0
End If
Next r
Else
Range("C11") = "**Please select data**"
With ComboBox2
.ListFillRange = "M24:M28"
.ShowDropButtonWhen = fmShowDropButtonWhenAlways
End With
For Each r In Range("F15:F19")
If r.MergeCells Then
r = ""
Else
r.ClearContents
End If
Next r
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Application.EnableEvents = False
If Target.Address = "$E$8" Then
If Target = "Method 1" Then
Range("C11") = "**Please select data**"
With ComboBox2
.Text = "Please Click & Select Data"
.Enabled = False
End With
For Each r In Range("F15:F19")
If r.MergeCells Then
r = 0
Else
r = 0
End If
Next r
Else
Range("C11") = "**Please select data**"
With ComboBox2
.Enabled = True
.ListFillRange = "M24:M28"
End With
For Each r In Range("F15:F19")
If r.MergeCells Then
r = ""
Else
r.ClearContents
End If
Next r
End If
End If
Application.EnableEvents = True
End Sub
ลองแก้เป็นแบบนี้ สามารถแก้ไขได้แล้วค่ะ
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Application.EnableEvents = False
If Target.Address = "$E$8" Then
If Target = "Method 1" Then
Range("C11") = "**Please select data**"
Range("F15:F19") = 0
With ComboBox2
.Text = "Please Click & Select Data"
.ListFillRange = ""
.ShowDropButtonWhen = fmShowDropButtonWhenNever
.Enabled = False
End With
Else
Range("C11") = "**Please select data**"
Range("F15:F19").ClearContents
With ComboBox2
.Enabled = True
.ListFillRange = "M24:M28"
.ShowDropButtonWhen = fmShowDropButtonWhenAlways
End With
End If
End If
Application.EnableEvents = True
End Sub
Private Sub ComboBox2_Change()
If Range("xSourceEx") = "Custom" Then
xsourceex = InputBox(Prompt:="Enter Custom Quality Please.", Title:="PLEASE ENTER CUSTOM QUALITY", Default:="")
Range("xSourceEx") = xsourceex
If Not IsNumeric(xsourceex) Then
MsgBox "Please enter numeric."
ComboBox2.Text = ""
Exit Sub
End If
Range("xSourceEx").NumberFormat = "General "" (Custom)"""
Else
' Range("xSourceEx") = Range("xSourceEx")
Range("xSourceEx").NumberFormat = "General"
End If
If IsNumeric(ComboBox2.Text) Then
Worksheets("Sheet2").Range("D5") = ComboBox2.Text
Else
Worksheets("Sheet2").Range("D5") = ""
End If
End Sub
ลองเปลี่ยนจากที่เป็น Numeric เป็น Text ค่ะ ไม่ทราบว่าทำได้ไหมคะถ้าต้องการให้เป็นตัวอักษร
Private Sub ComboBox2_Change()
If Range("xSourceEx") = "Custom" Then
xsourceex = InputBox(Prompt:="Enter Custom Quality Please.", Title:="PLEASE ENTER CUSTOM QUALITY", Default:="")
Range("xSourceEx") = xsourceex
If Not IsText(xsourceex) Then
MsgBox "Please enter text."
ComboBox2.Text = ""
Exit Sub
End If
Range("xSourceEx").NumberFormat = "General "" (Custom)"""
Else
' Range("xSourceEx") = Range("xSourceEx")
Range("xSourceEx").NumberFormat = "General"
End If
If IsText(ComboBox2.Text) Then
Worksheets("Sheet2").Range("D5") = ComboBox2.Text
Else
Worksheets("Sheet2").Range("D5") = ""
End If
End Sub
You do not have the required permissions to view the files attached to this post.
Private Sub ComboBox2_Change()
If Range("xSourceEx") = "Custom" Then
xsourceex = InputBox(Prompt:="Enter Custom Quality Please.", Title:="PLEASE ENTER CUSTOM QUALITY", Default:="")
Range("xSourceEx") = xsourceex
If IsNumeric(xsourceex) Then
MsgBox "Please enter text."
ComboBox2.Text = "Please click & select data"
Exit Sub
End If
Range("xSourceEx").NumberFormat = "General "" (Custom)"""
Else
' Range("xSourceEx") = Range("xSourceEx")
Range("xSourceEx").NumberFormat = "General"
End If
If Not IsNumeric(ComboBox2.Text) And ComboBox2.Text <> "Please click & select data" Then
Worksheets("Sheet2").Range("D5") = ComboBox2.Text
Else
Worksheets("Sheet2").Range("D5") = ""
End If
End Sub
Private Sub ComboBox2_Change()
If Range("xSourceEx") = "Custom" Then
xsourceex = InputBox(Prompt:="Enter Custom Quality Please.", Title:="PLEASE ENTER CUSTOM QUALITY", Default:="")
Range("xSourceEx") = xsourceex
If Not IsNumeric(xsourceex) Then
MsgBox "Please enter numeric."
ComboBox2.Text = ""
Exit Sub
End If
Range("xSourceEx").NumberFormat = "General "" (Custom)"""
Else
' Range("xSourceEx") = Range("xSourceEx")
Range("xSourceEx").NumberFormat = "General"
End If
If IsNumeric(ComboBox2.Text) Then
Worksheets("Sheet2").Range("D5") = ComboBox2.Text
Else
Worksheets("Sheet2").Range("D5") = ""
End If
End Sub
Last edited by snasui on Sun Jan 09, 2011 4:04 pm, edited 1 time in total.
Reason:แสดงเป็น Code แบบเยื้องเพื่อให้ง่ายต่อการอ่าน
If ComboBox1.Text <> "<--Please click & Select data-->" Then
Worksheets("Sheet2").Range("xResult1") = ComboBox1.Text
Else
Worksheets("Sheet2").Range("xResult1") = ""
End If