Page 1 of 1

พี่ครับ ผมเป็นมือใหม่หัดเขียน code มีเรื่องจะสอบถามครับ

Posted: Thu Feb 04, 2016 11:44 am
by pokemon0303
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim wb As Variant
Dim iname As String
Dim iid As String
Dim iskill As String
Dim idate As String

'get value from object to variable
iname = TextBox1
iid = TextBox2
iskill = TextBox5
idate = TextBox4

Set wb = Workbooks.Open("\\A040107dy\BirD\Bird\db.xls", False, False)
'wb("db.xls").Activate
ActiveWorkbook.Worksheets("Sheet1").Select
With [a65535].Offset.End(xlUp)
.Offset(1, 0) = iname
.Offset(1, 1) = iid
.Offset(1, 2) = iskill
.Offset(1, 3) = idate


จากข้างบนสอบถามนิดนึงนะครับ
Dim หมายถึงอะไรครับ
wb ย่อมาจาก Workbook ใช่หรือไม่ครับ
As Variant หมายถึงอะไรครับ
Application.ScreenUpdating = False หมายถึงอะไรครับ

ไฟล์ นามสกุล .xlsm กับไฟล์ .xlsx ธรรมดา ต่างกันอย่างไรครับ พอดีผมเห็นขนาดไฟล์มันต่างกันมาก ผมเลยจะเปลี่ยนมาใช้ไฟลล์ .xlsm เป็นหลักแทน .xlsx เพราะขนาดเล็กดี
ถามเยอะเลยพอดีผมมือใหม่หัดเขียน
ขอบคุณมากๆนะครับ

Re: พี่ครับ ผมเป็นมือใหม่หัดเขียน code มีเรื่องจะสอบถามครับ

Posted: Thu Feb 04, 2016 12:17 pm
by DhitiBank
:)
:arrow: Dim เป็นการประกาศชื่อตัวแปรครับ บอกให้รู้ว่า ด้านขวาถัดจาก dim เป็นตัวแปร
:arrow: wb ตามโค้ดด้านบนเป็นตัวแปรชื่อ wb ประเภท Variant

ลองอ่านเพิ่มเติมเรื่อง Dim และ ชนิดของตัวแปรได้ที่ลิ้งด้านล่างครับ
Dim Statement
DataType

:arrow: Application.ScreenUpdating=False เป็นการสั่งไม่ให้หน้าจอกระพริบขณะรันโค้ดครับ เช่น หากมีคำสั่งให้คัดลอกที่โน่น มาวางที่นี่ ระหว่างที่คำสั่งทำงานไป หน้าจอก็จะอยู่นิ่งๆ เหมือนตอนก่อนสั่งรันโค้ด หน้าจอจะกลับมาเป็นปัจจุบันอีกครั้งเมื่อเจอคำสั่ง Application.ScreenUpdating=True หรือเมื่อโค้ดทำงานเสร็จแล้วครับ

:arrow: ไฟล์ .xlsx กับ .xlsm ต่างกันที่ หากเราต้องการใช้ VBA เราก็ต้องบันทึกไฟล์เป็น .xlsm ครับ หากบันทึกเป็น .xlsx โค้ดจะไม่อยู่กับเรา :P

แล้วก็... ควรโพสต์โค้ดให้เป็นโค้ดด้วยนะครับ เพื่อจะได้อ่านได้ง่าย ลองอ่านวิธีทำตามลิ้งค์ด้านล่างนี้ครับ
snasui.com/viewtopic.php?f=6&t=1187

Re: พี่ครับ ผมเป็นมือใหม่หัดเขียน code มีเรื่องจะสอบถามครับ

Posted: Thu Feb 04, 2016 1:09 pm
by pokemon0303
ขอบคุณครับ