Em mới đọc qua VBA, định viết một đoạn code nhập dữ liệu từ file dữ liệu khác từ sap2000 sang bảng tổ hợp nội lực. Mục đính là khi chạy Macro thì hiện lên một box hỏi nhập số Phần tử cột, sau đó nó sẽ tự lấy dữ liệu từ file nội lực như hình .Em thử viết nhưng lộn xộn quá, không biết sai ở đâu
Sub Get_Data()
i = 0
Do While i <= Application.InputBox("Nhap so phan tu cot:", "So Phan Tu Cot", Type:=1)
ActiveCell.Offset(5 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(3 + 2 * i, 9).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
ActiveCell.Offset(6 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(3 + 2 * i, 4).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
ActiveCell.Offset(8 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(4 + 2 * i, 9).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
ActiveCell.Offset(9 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(4 + 2 * i, 4).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
i = i + 1
Loop
End Sub
Thanks các bác nhiều.
Sub Get_Data()
i = 0
Do While i <= Application.InputBox("Nhap so phan tu cot:", "So Phan Tu Cot", Type:=1)
ActiveCell.Offset(5 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(3 + 2 * i, 9).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
ActiveCell.Offset(6 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(3 + 2 * i, 4).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
ActiveCell.Offset(8 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(4 + 2 * i, 9).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
ActiveCell.Offset(9 + 6 * i, 3).Range("A1").Select
ActiveWindow.ActivateNext
ActiveCell.Offset(4 + 2 * i, 4).Range("A1").Select
Selection.Copy
ActiveWindow.ActivateNext
ActiveSheet.Paste
i = i + 1
Loop
End Sub
Thanks các bác nhiều.
File đính kèm
Lần chỉnh sửa cuối: