PDA

View Full Version : Code VBA ในการค้นหาข้อความครับ



Nongmod
14 Jun 2007, 10:29
ผมต้องการค้นหาข้อความเพื่อตัดเอาเฉพาะชื่อสั้นๆ เนื่องจากผมต้องเอาชื่อนี้ไปตั้งชื่อไฟล์ ถ้ายกไปทั้งหมดอาจผิดรูปแบบการตั้งชื่อ เช่น FAIRCHILD SEMICONDUCTOR AP P/L ไม่สามารถตั้งชื่อไฟล์ที่มี / ได้ครับ
ผมจึงอยากทราบการเขียน Code เพื่อตัดให้เหลือเฉพาะชื่อด้านหน้าครับ
เช่น FAIRCHILD SEMICONDUCTOR AP P/L = LEFT(B4,FIND(" ",B4,1)) = FAIRCHILD

อรวีร์
14 Jun 2007, 14:06
Dim File_Name As String, FountSP As Integer
File_Name = [B4]
FountSP = InStr(File_Name, " ")
If FountSP > 0 Then File_Name = Left(File_Name, FountSP - 1)

และอีกแบบ

Dim File_Name As String, TempStr
TempStr = Split([B4], " ")
File_Name = TempStr(0)

ใช้ได้ไม่ว่าจะมีช่องว่างแทรกใน B4 หรือไม่ค่ะ

Nongmod
14 Jun 2007, 15:32
ขอบคุณมากครับ คุณอรวีร์ ใช้ได้ดีมากเลยครับ แต่ลองรันดูผมพบปัญหาเพิ่มครับ
อยากจะเรียนถามเพิ่มครับ ผมเจอ ชื่อที่เหมือนกัน ทำให้ตั้งชื่อซ้ำกันไม่ได้เช่น
ASIA TECHNOLOGY PTE LTD และ ASIA ELECTRONICS PTE LTD
ผมจึงต้องการผลลัพธ์เป็น ASIA TECHNOLOGY และ ASIA ELECTRONIC
จะต้องปรับแก้ไข code อย่างไรครับ

อรวีร์
14 Jun 2007, 17:04
Dim File_Name As String, TempStr
TempStr = Split([B4] & " ", " ")
File_Name = Trim(TempStr(0) & " " & TempStr(1))

Nongmod
14 Jun 2007, 17:46
ขอบคุณมากครับ คุณอรวีร์ :) ช่วยได้เยอะเลยครับ