Page 1 of 1

VBA ต้องการ Copy ข้อมูลจากไฟล์แรก ไปเก็บใน define names ไฟล์สองปรับโค้ดอย่างไรครับ

Posted: Fri Jul 08, 2022 10:35 am
by 10idlnw
ปกติถ้าส่งค่าไปไฟล์สองตามโค้ดด้านล่างนี้ คือ Copy ToMaiAge ไฟล์แรก ไปเก็บใน Range("MaiAge") ไฟล์สองก็ใช้งานได้ตามปกติครับ

Code: Select all

'ส่งค่า ToMaiAge จากไฟล์แรกไปยังไฟล์ที่สองเก็บไว้ใน Range("MaiAge")
Workbooks(fso.GetFileName(nameSvFile)).Worksheets("Sheet1").Range("MaiAge").Value = ToMaiAge
แต่ถ้าผมต้องการส่งค่า ToMaiAge จากไฟล์แรกไปเก็บไว้ใน Define Names หรือ Name Manager (Ctrl+F3) ที่สร้างรอรับค่าไว้แล้วชื่อ [MaiAge] ต้องปรับโค้ดอย่างไรครับ

Code: Select all

'ส่งค่า ToMaiAge จากไฟล์แรกไปยังไฟล์ที่สองเก็บไว้ใน [MaiAge] 
Workbooks(fso.GetFileName(nameSvFile)).Worksheets("Sheet1").[MaiAge].Value = ToMaiAge

Re: VBA ต้องการ Copy ข้อมูลจากไฟล์แรก ไปเก็บใน define names ไฟล์สองปรับโค้ดอย่างไรครับ

Posted: Fri Jul 08, 2022 10:47 am
by logic
ลองดูครับ

Workbooks(fso.GetFileName(nameSvFile)).Worksheets("Sheet1").Names("MaiAge").Value = ToMaiAge

Re: VBA ต้องการ Copy ข้อมูลจากไฟล์แรก ไปเก็บใน define names ไฟล์สองปรับโค้ดอย่างไรครับ

Posted: Fri Jul 08, 2022 10:58 am
by 10idlnw
ขอบคุณมากครับ แตก็ยังไม่ได้ หรือว่า ตรง Refers To (ในไฟล์ที่สอง)ผมต้องใส่อะไรลงไปแทนครับ .. ที่ผมต้องการเก็บไว็ใน Define Name ก่อน ก็เพราะ ในไฟล์ที่สอง ผมต้องการเอา MaiAge (ที่เอาไว้รับค่ามาจากไฟล์แรก) มาแทรกระหว่างข้อความ เช่น ใน Range("A1") ผมมีข้อความเต็มคือ
="สวัสดีครับผมอายุ " & MyAge & " ปี ครับ" ประมาณนี้ครับ

Re: VBA ต้องการ Copy ข้อมูลจากไฟล์แรก ไปเก็บใน define names ไฟล์สองปรับโค้ดอย่างไรครับ

Posted: Fri Jul 08, 2022 11:22 am
by logic
น่าจะแบบนี้

Workbooks(fso.GetFileName(nameSvFile)).Worksheets("Sheet1").Names("MaiAge").Value = _
Workbooks(fso.GetFileName(nameSvFile)).Worksheets("Sheet1").Names("MaiAge").Value & " " & Workbooks("ชื่อไฟล์ที่สอง").Worksheets("ชื่อชีตของไฟล์ที่สอง").Names("ToMaiAge").Value & " ปี ครับ"