Page 1 of 1

สอบถามเงื่อนไขการแยกข้อมูล

Posted: Tue Oct 08, 2019 1:35 am
by lachesschoc
ตอนนี้ syntax ของ vba ผมยังไม่ถูกครับ และยังเกิด error อยู่ แต่ logic ที่อยากได้เป็นแบบนี้ครับ

คือมี data 1 column มีทั้ง ตัวเลข และ ตัวอักษร (พูดง่ายๆ คืออยากแยกประภท data ออก)

ถ้า cell นั้น (โดยข้อมูลเริ่มที่ตำแหน่ง J3) เป็นตัวเลขหรือวันที่ ไม่ต้องทำอะไร (แต่ผมไม่รู้ว่ามีคำสั่งไม่ทำอะไรมั้ย)

ถ้า นอกเหนือจาก if ตัวนี้ (else) ให้ย้ายข้อมูลจาก J3 ไปที่ cell K3

ทำแบบนี้ไล่ไปเรื่อยจน Column ไม่มี data เหลือแล้ว

นี่ไฟล์ และ code ครับ

Code: Select all

Sub data_Split()
  Dim wb As Workbook
  Dim ThisSheet As Worksheet

  Dim WorkbookCounter As Integer


  Application.ScreenUpdating = False

  'Initialize data
  Set ThisSheet = ThisWorkbook.ActiveSheet
  WorkbookCounter = 1

'number will standstill if not move to other column
    If IsNumeric(wb.Sheets(1).Range("J3").Offset(RangeCounter, 0).Value) = True Then
 
    'do nothing
 
    Else
 
    Selection.Cut
    Range("K3").Offset(RangeCounter, 0).Select
    ActiveSheet.Paste
 
    End If
    
    RangeCounter = RangeCounter + 1

    'Save, and close it
    wb.SaveAs ThisWorkbook.Path & Filename & Format(Now, "DD-MM-YYYY")
    wb.Close
    
  Application.ScreenUpdating = True
  Set wb = Nothing
End Sub



Re: สอบถามเงื่อนไขการแยกข้อมูล

Posted: Tue Oct 08, 2019 6:38 am
by snasui
:D ไม่พบไฟล์แนบ ลองแนบมาใหม่อีกครั้งครับ

ขนาดไฟล์จะต้องไม่เกิน 500 kb อ่านกฎการใช้บอร์ดข้อ 4 ด้านบนประกอบครับ :roll:

Re: สอบถามเงื่อนไขการแยกข้อมูล

Posted: Tue Oct 08, 2019 8:58 am
by lachesschoc
นี่ครับ ไฟล์ที่อัพไปก็ไม่เกิน 500 k นะครับ ขนาดไฟล์แค่ 10 k ครับ

รบกวนหน่อยครับ ขอบคุณครับ

Re: สอบถามเงื่อนไขการแยกข้อมูล

Posted: Tue Oct 08, 2019 1:19 pm
by puriwutpokin

Code: Select all

'Other code...
For Each r In Range("j3:j100")
    If IsNumeric(r.Value) = False Then
    r.Cut
    r.Offset(, 1).Select
    ActiveSheet.Paste
End If
Next r
'Other code...