การถ่ายโอนข้อมูลระหว่างเวิร์กบุ๊กตามค่าในเซลล์เฉพาะ


1

ฉันสร้างฟอร์มใน Excel ที่ย้ายข้อมูลที่ป้อนในแบบฟอร์มไปยังแผ่นงานที่อยู่ติดกันในสมุดงานเดียวกันรวมถึงสมุดงานตัวแทนของฉันที่เส้นทางไฟล์ที่แตกต่างกัน ชิ้นส่วนของจิ๊กซอว์นั้นได้รับการจัดวางให้เข้าที่! ทำงานเหมือนจับใจ!

จากที่นี่ฉันจะสร้างสมุดงานเพิ่มเติมสองเล่มซึ่งเหมือนกับตัวแทนแรก (3 ตัวแทนในทั้งหมด) ซึ่งข้อมูลจะกรองพร้อมกัน

สิ่งที่ฉันไม่สามารถหาได้คือรายละเอียดการถ่ายโอนเพิ่มเติมโดยมีเพียงข้อมูลไปยังสมุดงานหนึ่งเล่มหากชื่อตัวแทนอยู่ในรายการในคอลัมน์ที่ระบุ

ในกรณีของฉันชื่อตัวแทนของฉันอยู่ในคอลัมน์ D เมื่อฉันกดปุ่มส่งฉันต้องการทราบว่ามาโครของฉันจะจดจำชื่อที่ป้อนในเซลล์นั้น ๆ และกำหนดเส้นทางไปยังสมุดงานตัวแทนเฉพาะนั้นซึ่งตรงข้ามกับทั้ง 3 ตัวแทนหรือไม่

ฉันรู้ว่ามันเป็นไปได้ แต่สมองถั่วน้อยของฉันไม่อนุญาตให้ฉันเข้าถึงเซลล์สมองของฉันได้อีกต่อไป! ฉันใหม่ในการเขียนใน VBA ดังนั้นฉันอาจจะหายไปมาก ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม รหัสปัจจุบันที่ฉันมีอยู่ด้านล่าง

Private Sub CommandButton1_Click()

Dim DateReceived As Date
Dim CustomerName As String
Dim AcctNumber As Single
Dim AssignedAgent As String
Dim DisputeCode As Single
Dim ProjRespDate As Date
Dim DocUploadDate As Date
Dim DirectMailForm As Workbook

Worksheets("Form").Select
DateReceived = Range("G3")
CustomerName = Range("G4")
AcctNumber = Range("G5")
AssignedAgent = Range("G6")
DisputeCode = Range("G7")
ProjRespDate = Range("G8")
DocUploadDate = Range("G9")

Worksheets("Data").Select
Worksheets("Data").Range("A1").Select
RowCount = Worksheets("Data").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Data").Range("A1")
.Offset(RowCount, 0) = DateReceived
.Offset(RowCount, 1) = CustomerName
.Offset(RowCount, 2) = AcctNumber
.Offset(RowCount, 3) = AssignedAgent
.Offset(RowCount, 4) = DisputeCode
.Offset(RowCount, 5) = ProjRespDate
.Offset(RowCount, 6) = DocUploadDate

End With

Worksheets("Form").Select
Worksheets("Form").Range("G3").Select
ActiveWorkbook.Save
Range("G3:G9").ClearContents

Set DisputeForm = Workbooks.Open("C:\Users\klx380\Documents\Consolidated_Dispute_Tracker_2014.xls")
Worksheets("Mail").Select
Worksheets("Mail").Range("A1").Select
RowCount = Worksheets("Mail").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Mail").Range("A1")
.Offset(RowCount, 0) = DateReceived
.Offset(RowCount, 1) = CustomerName
.Offset(RowCount, 2) = AcctNumber
.Offset(RowCount, 3) = AssignedAgent
.Offset(RowCount, 4) = DisputeCode
.Offset(RowCount, 5) = ProjRespDate
.Offset(RowCount, 6) = DocUploadDate

End With

DisputeForm.Save
DisputeForm.Close


End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If [G9].Value <> "" Then
  CommandButton1.Enabled = True
Else: CommandButton1.Enabled = False
End If

End Sub

คุณสามารถวางฟอรัมไว้ในเซลล์ที่อนุญาตให้คุณตรวจสอบว่าจะคัดลอกไปยังสมุดงานอื่นหรือไม่ หากคุณทำได้คุณก็สามารถคัดลอกได้ว่าเซลล์นั้นมีค่า TRUE หรือไม่
Rob Sedgwick
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.