:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

อธิบาย Code

Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: อธิบาย Code

Re: อธิบาย Code

#25

by jinjin » Sat Oct 17, 2015 1:21 am

ขอโทษค่ะ ตาลายไปหน่อย
ขอบคุณนะค่ะ สำหรับข้อมูลตอนนี้เสร็จเรียบร้อยแล้วค่ะ
ต้องขอบคุณเว็บดีๆ ที่มีไว้ให้ค่อยปรึกษาแนะนำนะค่ะ

Re: อธิบาย Code

#24

by snasui » Fri Oct 16, 2015 6:11 pm

jinjin wrote:คลิกตรงในส่วนของ listbox Country แล้วให้ในส่วนของ listbox Project propose แสดงข้อมูลออกมาตามเงื่อนไข Select Case และตรง Year ก็ให้แสดงข้อมูลปี ตามเงื่อนไขใน Select Case เหมือนกัน แต่ถ้าไม่มีของมูล ก็ไม่ต้องให้แสดง ปี พ.ศ นั้นออกมา ค่ะ
:D ทั้งหมดนี้ผมเขียนตัวอย่าง Code ให้แล้วตามโพสต์ด้านบน ควรทดสอบแล้วถามในส่วนที่ยังเป็นปัญหาครับ

Re: อธิบาย Code

#23

by jinjin » Fri Oct 16, 2015 10:08 am

คลิกตรงในส่วนของ listbox Country แล้วให้ในส่วนของ listbox Project propose แสดงข้อมูลออกมาตามเงื่อนไข Select Case และตรง Year ก็ให้แสดงข้อมูลปี ตามเงื่อนไขใน Select Case เหมือนกัน แต่ถ้าไม่มีของมูล ก็ไม่ต้องให้แสดง ปี พ.ศ นั้นออกมา ค่ะ

Re: อธิบาย Code

#22

by snasui » Thu Oct 15, 2015 8:17 pm

:D ควรจะอธิบายมาให้ละเอียดว่าคลิกชื่อใน Control ตัวไหน คลิกเลือกตัวเลือกไหน ค่าที่ถูกต้องจะแสดงที่ใด ด้วยค่าใด เช่นนี้จึงจะเข้าถึงปัญหาได้โดยไว

ด้านล่างเป็นตัวอย่าง Code สำหรับการคลิกเลือกค่าใน ListBox2 แล้วแสดงค่าปีใน ListBox4 โดยนำค่าใน ListBox2 ที่คลิกเลือกไปตรวจสอบกับคอลัมน์ B ของชีต IMTGT จากนั้นตรวจสอบค่าในคอลัมน์ C:H ว่ามีข้อมูลหรือไม่ หากมีให้ Add ปีซึ่งอยู่ที่ C1:H1 ไว้ใน ListBox4

Code: Select all

Dim i As Integer, j As Long
Dim r As Range
j = Application.Match(ListBox2.Text, Sheets(1).Range("b:b"), 0)
For i = ListBox4.ListCount - 1 To 0 Step -1
    ListBox4.RemoveItem i
Next i
With Sheets(1)
   For Each r In .Cells(j, 3).Resize(1, 6)
        If r.Value <> "" Then
            ListBox4.AddItem .Cells(1, r.Column).Value
        End If
   Next r
End With

Re: อธิบาย Code

#21

by jinjin » Thu Oct 15, 2015 7:24 pm

เมื่อคลิกเลือกตัวชื่อ ในส่วนของปี จะปรากฎปีที่มีข้อมูลใน Cell เท่านั่น
ส่วน Cell ไหนที่มีช่องว่างจะไม่ปรากฎปีนั่นให้เห็น รายละเอียดได้แนบในไฟล์เรียบร้อยแล้วค่ะ
ขอบคุณมากค่ะ
Attachments
12.xlsm
(222.12 KiB) Downloaded 15 times

Re: อธิบาย Code

#20

by snasui » Thu Oct 15, 2015 6:03 pm

:D แนบตัวอย่างไฟล์สำหรับ Code ล่าสุดมาด้วย พร้อมชี้ให้เห็นว่าต้องการให้แสดงคำตอบเป็นอย่างไร จะได้สะดวกในการตอบของเพื่อนสมาชิกครับ

Re: อธิบาย Code

#19

by jinjin » Thu Oct 15, 2015 2:43 pm

รบกวนอีกคร้ังนะค่ะ
ต้องการทราบ "ข้อมูลที่อยู่ใน cell" เท่านั่น หาก cell ไหนไม่มีข้อมูลอยู่ ไม่ต้องแสดงค่าออกมา
โดยข้อมูลที่ได้มาจะมีลักษณะเป็น 5 คอลัมน์ ซึ่งใน 5 คอลัมน์นั่นมี cell ว่าง "ไม่มีข้อมูลอยู่"
เช่น ข้อมูล A แถวที่ 1 มีข้อมูลใน cell แต่ละคอลัมน์ ไม่ครบ
ข้อมูล B แถวที่ 2 มีข้อมูลโดยเรียงกันไปในแต่ละคอลัมน์ครบ
แถวต่อ ๆ ไปก็ เป็นลักษณะเดียวกันนี้สลับกันไปไม่แน่นอน
ซึ่ง "Code เก่าที่ใช้" เป็นการหาพิกัดค่า Row, Column ซื่งผลที่ได้ไม่ต้องตามที่ต้องการค่ะ

Code: Select all

Dim j As Integer
 Dim tCol As Integer

 TextBox7.Text = " "
  
   j = 3
   While (Sheet1.Cells(1, j) > " ")
  If (Sheet1.Cells(1, j) = ListBox4.Text) Then
   tCol = j
  End If
    j = j + 1
  Wend
    TextBox7.Text = Sheet1.Cells(eRow, tCol)  'รับค่าที่ได้ มาแสดงผล Textbox7 คะ


จะต้องใช้ code macro อะไรเพิ่มเติมคะ ขอคำแนะนำด้วยค่ะ

Re: อธิบาย Code

#18

by snasui » Mon Oct 12, 2015 12:24 am

:D ไม่เข้าใจบรรทัดใดครับ :?:

การใช้ Code จำเป็นต้องศึกษามาตามลำดับ หากไม่เข้าใจเลยแม้แต่บรรทัดเดียวยังไม่ควรใช้ VBA ควรหาหนังสือมาอ่านและลองทำตามก่อนครับ

Re: อธิบาย Code

#17

by jinjin » Sun Oct 11, 2015 10:05 pm

ได้ code มา รบกวนอธิบายให้อีกครั้งนะคะ

Code: Select all

Dim irow as Long
Dim ws As Long
Dim count As Integer

lastrow = sheets("item").cells(Rows.count,1).End(xlUp).Row
	For x = 2 to lastrow
	If sheets("item").cells(x,1) = sheet2.Rang ("B2")Then
	sheet2.Rang ("B2") = Sheet ("item").cell(x,1)
	sheet2.Rang ("B2") = Sheet ("item").cell(x,2)
	end If
	Next x
end sub

Re: อธิบาย Code

#16

by snasui » Sun Oct 11, 2015 1:12 pm

:D ใน Code มีคำอธิบายไว้เรียบร้อยแล้วลองแปลดูก่อน ติดตรงไหนแล้วค่อยถามกันต่อครับ

Re: อธิบาย Code

#15

by jinjin » Sun Oct 11, 2015 1:06 pm

รบกวนช่วย อธิบายให้หน่อยนะค่ะ

Code: Select all

Dim Prompt As String
  Dim RetValue As String
  Dim Rng As Range
  Dim RowCrnt As Long

  Prompt = ""

  ' The macro recorder has used the active worksheet.  This says which
  ' worksheet is to be used whether it is active or not.  Change "Sheet4"
  ' to the name of your worksheet.
  With Sheets("Sheet4")

    ' This will loop forever unless a statement within
    ' the loop exits the Do.
    Do While True

      RetValue = InputBox(Prompt & "Give me a value to look for")
      'RetValue will be empty if you click cancel
      If RetValue = "" Then
        Exit Do
      End If

      ' I do not wish to active the cell containing the required value.
      ' I want to know where it is.
      Set Rng = .Columns("A:A").Find(What:=RetValue, After:=.Range("A1"), _
                LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
                SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

      If Rng Is Nothing Then
        ' The entered value could not be found
        Prompt = "I could not find """ & RetValue & """"
      Else
        ' The entered value was found
        RowCrnt = Rng.Row
        Prompt = "I found """ & RetValue & """ on row " & RowCrnt
      End If
      Prompt = Prompt & vbLf
    Loop

  End With

End Sub

Re: อธิบาย Code

#14

by jinjin » Sat Oct 10, 2015 5:00 pm

ขอบคุณค่ะ ทำได้แล้วค่ะ

Re: อธิบาย Code

#13

by snasui » Fri Oct 09, 2015 6:28 pm

:D จัดเก็บแบบ Folder ที่ว่านั้นต้องการจะจัดเก็บอย่างไรครับ

สำหรับการเปิด Folder ไม่มี Code Folder.Open การเปิด Folder ด้วยวิธีต่าง ๆ ดูที่นี่ครับ http://stackoverflow.com/questions/1120 ... r-from-vba

Re: อธิบาย Code

#12

by jinjin » Fri Oct 09, 2015 2:20 pm

Code: Select all

Msgbox ThisWorkbook.Path

Re: อธิบาย Code

#11

by jinjin » Fri Oct 09, 2015 2:07 pm

เรียนถามอาจารย์คะว่า หากจะอ้างอิง ที่จัดเก็บ
Path workbook

Code: Select all

Workbooks.Open "D:\Work\Sep\test"

สามารถที่จะจัดเก็บรูปแบบ Folder ได้หรือไม่ค่ะ

Code: Select all

  Folder.Open "D:\"Work\Sep\111"

Re: อธิบาย Code

#10

by snasui » Wed Oct 07, 2015 6:33 pm

jinjin wrote:โดยดิฉันต้องการ Code เลือกประเภทจากรหัส 3 ตัวแรก
ใน Column A
:D ได้เขียน Code นั้นไว้แล้วหรือไม่ เขียนไว้ที่บรรทัดใดครับ

เอา Code มาเฉย ๆ โดยไม่ปรับเลยนั้นไม่เข้าเงื่อนไขของการตอบปัญหา VBA หากเอา Code มาก็ต้องปรับเองเป็นบ้างไม่มากก็น้อยครับ
jinjin wrote:Process ที่ได้ คือ เมื่อเลือกประเภทใดประเภทหนึ่งแล้ว ผลลัพท์ที่ออกมาคือข้อมูลที่อยู่ในส่วนของ Column B จะแสดงผลออกมาทั้งหมดค่ะ
ต้องการให้แสดงที่ไหนครับ

Re: อธิบาย Code

#9

by jinjin » Wed Oct 07, 2015 6:18 pm

ดิฉันเองไม่แน่ใจค่ะว่าจัดวาง Excell ถูกหรือไม่ เพราะเมื่อ run แล้วข้อมูลไม่แสดงผลค่ะ และก็ไม่เกิด error ด้วย รบกวนอาจารย์ช่วยแนะนำด้วยค่ะ

Re: อธิบาย Code

#8

by jinjin » Wed Oct 07, 2015 6:16 pm

ต้องขอโทษด้วยค่ะ ดิฉันเองพึ่งศึกษา VBA ด้วยคะ
โดยนำ Code ตามเว็บที่ศึกษามาทดลองใช้ค่ะ
แต่เกิดปัญหาตามไฟล์ที่แนบมาคะ Code อยู่ Module 1 Formsชื่อว่า IMTGT โดยดิฉันต้องการ Code เลือกประเภทจากรหัส 3 ตัวแรก
ใน Column A
Process ที่ได้ คือ เมื่อเลือกประเภทใดประเภทหนึ่งแล้ว ผลลัพท์ที่ออกมาคือข้อมูลที่อยู่ในส่วนของ Column B จะแสดงผลออกมาทั้งหมดค่ะ

Re: อธิบาย Code

#7

by snasui » Tue Oct 06, 2015 5:57 pm

:D ตามไฟล์ที่แนบมาช่วย Code อยู่ Module ไหน ชื่อว่าอะไร อ่านกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ :roll:

ค่าทดสอบเช่นค่าใด หากถูกต้องแล้วจะต้องได้คำตอบเป็นอย่างไร

การโพสต์ Code ควรให้แสดงเป็น Code ดูตัวอย่างที่ Link นี้ครับ viewtopic.php?f=6&t=1187

Re: อธิบาย Code

#6

by jinjin » Tue Oct 06, 2015 5:01 pm

jinjin wrote:ต้องขอโทษด้วยคะ แนบไฟล์ให้แล้วคะ
1.ขออธิบายในส่วนของโปรแกรมนะคะ ดิฉันใช้ ComboBox ในการค้นหา ID (Sheet1 column A) เพื่อให้ข้อมูลID และรายละเอียดข้อมูล (Sheet1 column B) Show ในส่วนของ ListBox2 ค่ะ รบกวน run ดูได้ค่ะ

Top