Re: ปัญหาการจัดคำแบบสอบถามใน excel
Posted: Thu Feb 20, 2014 11:39 pm
คลังคำตอบแห่งความรู้จากคนไทย เพื่อโลกที่ต้องการเข้าใจในสิ่งเล็ก ๆ อย่างลึกซึ้ง
https://snasui.com/
Code: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
strvaluemsg = MsgBox("อ่าน, vbOKOnly + 64, "อ่าน")
Else: strvaluemsg = MsgBox("ไปข้อ 1.2")
End If
If OptionButtons("Option Button 9").Value = True Then
Sheets("บันทึกข้อมูล").Range("a13") = 1
End If
If OptionButtons("Option Button 10").Value = True Then
Sheets("บันทึกข้อมูล").Range("a13") = 2
End If
Application.Goto reference:="r18c3"
End SubCode: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
strvaluemsg = MsgBox("ทดสอบ", vbOKOnly + 64, "อ่าน")
Else: strvaluemsg = MsgBox("ไปข้อ 1.2")
End If
If ActiveSheet.OptionButtons("Option Button 9").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("a13") = 1
End If
If ActiveSheet.OptionButtons("Option Button 10").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("a13") = 2
End If
Application.Goto reference:="r18c3"
End SubCode: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
strvaluemsg = MsgBox("อ่าน", vbOKOnly + 64, "อ่าน")
Else: strvaluemsg = MsgBox("ไปข้อ 1.2")
With Worksheets("บันทึกข้อมูล")
If .Range("b9") = "" Then
.Range("b9") = TextBox1.Value
Else
.Range("b" & Rows.Count).End(xlUp).Offset(0, 1) = TextBox1.Value
End If
Application.Goto reference:="ques1.2"
End With
End If
End SubCode: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
strvaluemsg = MsgBox("·´Êͺ", vbOKOnly + 64, "ÍèÒ¹")
Else
strvaluemsg = MsgBox("仢éÍ 1.2")
With Worksheets("ºÑ¹·Ö¡¢éÍÁÙÅ")
If .Range("b9") = "" Then
.Range("b9") = TextBox1.Value
ElseIf .Range("c9") = "" Then
.Range("c9") = TextBox1.Value
ElseIf .Range("d9") = "" Then
.Range("d9") = TextBox1.Value
End If
Application.Goto reference:="ques1.2"
End With
End If
End SubCode: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
strvaluemsg = MsgBox("ทดสอบ", vbOKOnly + 64, "อ่าน")
Else: strvaluemsg = MsgBox("ไปข้อ 1.2")
End If
If ActiveSheet.OptionButtons("Option Button 9").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("c5") = 1
End If
If ActiveSheet.OptionButtons("Option Button 10").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("c5") = 2
End If
Application.Goto reference:="r18c3"
With Worksheets("บันทึกข้อมูล")
If .Range("c6") = "" Then
.Range("c6") = TextBox1.Value
ElseIf .Range("f6") = "" Then
.Range("f6") = TextBox1.Value
ElseIf .Range("i6") = "" Then
.Range("i6") = TextBox1.Value
End If
End With
End SubCode: Select all
Private Sub CommandButton1_Click()
If ComboBox1.Value = "" Then
MsgBox ("กรุณาเลือก"), vbOKOnly + 16, "กรุณาอ่าน"
ElseIf TextBox1.Value = "" Then
MsgBox ("กรุณาระบุข้อที่ท่านตอบ"), vbOKOnly + 16, "กรุณาอ่าน"
Else:
strvaluemsg = MsgBox("ข้อมูลของท่านได้บันทึกแล้ว ", vbOKOnly + 64, "ขอบคุณ")
With Worksheets("บันทึกข้อมูล")
If .Range("d5") = "" Then
.Range("d5") = ComboBox1.Value
ElseIf .Range("g5") = "" Then
.Range("g5") = ComboBox1.Value
ElseIf .Range("j5") = "" Then
.Range("j5") = ComboBox1.Value
End If
If .Range("e5") = "" Then
.Range("e5") = TextBox1.Value
ElseIf .Range("h5") = "" Then
.Range("h5") = TextBox1.Value
ElseIf .Range("k5") = "" Then
.Range("k5") = TextBox1.Value
End If
Unload Me
End With
End If
End Subporkub1 wrote:สิ่งที่ผมทำได้ คือ จะบันทึก ค่าคำตอบ ทับ กัน และ เมื่อตอบหลายๆๆครั้งที่มากกว่า 3 ครั้ง จะ จะเกินตารางที่ได้สร้างไว้ครับ ผมต้องการในบันทึก แค่เพียง 3 ครั้ง
Code: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
strvaluemsg = MsgBox("ทดสอบ", vbOKOnly + 64, "อ่าน")
Else: strvaluemsg = MsgBox("ไปข้อ 1.2")
End If
If ActiveSheet.OptionButtons("Option Button 9").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("c5") = 1
End If
If ActiveSheet.OptionButtons("Option Button 10").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("c5") = 2
End If
Application.Goto reference:="r18c3"
With Worksheets("บันทึกข้อมูล")
If .Range("i6") <> "" Then Exit Sub
If .Range("c6") = "" Then
.Range("c6") = TextBox1.Value
ElseIf .Range("f6") = "" Then
.Range("f6") = TextBox1.Value
ElseIf .Range("i6") = "" Then
.Range("i6") = TextBox1.Value
End If
End With
End Subporkub1 wrote:อีกเรื่องหนึ่งนะครับ จากไฟล์ ในข้อ 2.2 เมื่อกด บันทึกข้อมูล จะมีกล่องเตือนการบันทึกแล้วจะมี User form บันทึกข้อมูล
ทีนี้ผมอยากจะสอบถามว่า ผมอยากจะใช้ user form นี้ในการบันทึกในข้ออื่นๆ ต่อจะได้ไหมครับ
โดยให้ กล่องcombobox1 ที่อยู่ใน userform ไปบันทึก ในเซลล์ d14 g14 j14 ตามลำดับ
และ textbox1 ที่อยู่ใน userform ไปบันทึก ในเซลล์ e14 h14 k14
โดยถ้ากรณีไม่ได้ผมก็คงต้อง สร้าง userform ในทุกข้อขึ้นมาใหม่ ใช่มั้ยครับ รบกวนอาจารย์ด้วยนะครับ ขอบคุณครับ
Code: Select all
dim i as integer
dim j as integer
i = 6
for j = 1 to 5
range("a" & i) = i
i = i + 8
next j
Code: Select all
Private Sub CommandButton1_Click()
If ActiveSheet.OptionButtons("Option Button 9").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("c5") = 1
End If
If ActiveSheet.OptionButtons("Option Button 10").Value = 1 Then
Sheets("บันทึกข้อมูล").Range("c5") = 2
End If
End SubCode: Select all
If ActiveSheet.OptionButtons("Option Button 9").Value = 1 Then
With Sheets("บันทึกข้อมูล")
If .Range("c5") = "" Then
.Range("c5") = 1
ElseIf .Range("f5") = "" Then
.Range("f5") = 1
Else
.Range("i5") = 1
End If
End With
End If
If ActiveSheet.OptionButtons("Option Button 10").Value = 1 Then
With Sheets("บันทึกข้อมูล")
If .Range("c5") = "" Then
.Range("c5") = 2
ElseIf .Range("f5") = "" Then
.Range("f5") = 2
Else
.Range("i5") = 2
End If
End With
End IfCode: Select all
If ComboBox1.Value = "" Then
MsgBox ("กรุณาเลือก"), vbOKOnly + 16, "กรุณาอ่าน"
ElseIf TextBox1.Value = "" Then
MsgBox ("กรุณาระบุข้อที่ท่านตอบ"), vbOKOnly + 16, "กรุณาอ่าน"
Else:
strvaluemsg = MsgBox("ข้อมูลของท่านได้บันทึกแล้ว ", vbOKOnly + 64, "ขอบคุณ")
With Worksheets("บันทึกข้อมูล")
If .Range("d5") = "" Then
.Range("d5") = ComboBox1.Value
ElseIf .Range("g5") = "" Then
.Range("g5") = ComboBox1.Value
ElseIf .Range("j5") = "" Then
.Range("j5") = ComboBox1.Value
End If
If .Range("e5") = "" Then
.Range("e5") = TextBox1.Value
ElseIf .Range("h5") = "" Then
.Range("h5") = TextBox1.Value
ElseIf .Range("k5") = "" Then
.Range("k5") = TextBox1.Value
End If
Unload Me
End With
End If
End Sub