Mã VBA Excel để di chuyển dữ liệu từ 4 ô cụ thể sang một bảng tính khác trong hàng có sẵn tiếp theo [đã đóng]


0

Tôi đã được học về mã VBA nhưng điều này làm tôi bế tắc. Tôi đang sử dụng Excel-2013.
Tôi có 4 ô trong bảng "Hóa đơn" (Ô E3, C3, E36 và E34) mà tôi muốn chuyển sang Bảng "Phương thức thanh toán" của mình trong hàng có sẵn tiếp theo. Hàng đầu tiên sẽ có sẵn là hàng thứ 3. Tôi muốn Cell E3 sao chép vào cột C, C3 vào D, E36 vào E và E34 vào F. Khi mỗi hóa đơn được lưu, tôi muốn dữ liệu này được chuyển. Tôi đã có mã xóa hóa đơn của tôi. Tôi chỉ cần chuyển 4 ô dữ liệu này.


1
Vui lòng chia sẻ những gì bạn đã có (chỉ những gì có liên quan đến câu hỏi của bạn) và những gì bạn đã thử. Nếu bạn đã học VBA, tôi cho rằng bạn đã thử một cái gì đó. Ngoài ra, chúng tôi sẽ cần hiểu rõ hơn vấn đề của bạn để có thể giúp đỡ.
Máté Juhász

Tôi không có mã cho chức năng này - nhưng tôi đã giải quyết nó bên dưới.
Jen

Câu trả lời:


1

Hãy thử như sau:

Sub CopyDataToMethodOfPayment()
    Dim NewRow: NewRow = GetFirstEmptyRowOnMethodOfPayment     'Find the next row free on "Method Of Payment"
    Worksheets("Method Of Payment").Cells(NewRow, 3).Value = Worksheets("Invoice").Range("E3").Value    'Copy E3 to Column C on empty row
    Worksheets("Method Of Payment").Cells(NewRow, 4).Value = Worksheets("Invoice").Range("C3").Value    'Copy C3 to Column D on empty row
    Worksheets("Method Of Payment").Cells(NewRow, 5).Value = Worksheets("Invoice").Range("E36").Value   'Copy E36 to Column E on empty row
    Worksheets("Method Of Payment").Cells(NewRow, 6).Value = Worksheets("Invoice").Range("E34").Value   'Copy E34 to Column F on empty row
End Sub

Function GetFirstEmptyRowOnMethodOfPayment() As Integer
    Dim RowCount: RowCount = 1 'Set row to start looking for empty rows from
    Do
        RowCount = RowCount + 1 'Increment to next row
    Loop Until IsEmpty(Worksheets("Method Of Payment").Cells(RowCount, 3).Value) 'Stop once we find an empty one
    GetFirstEmptyRowOnMethodOfPayment = RowCount    'Return the row number of the empty one
End Function

Điều đó đã làm việc tuyệt vời và tôi đã có thể thêm nó vào mã hiện tại của mình và gọi nó để tôi có thể lưu, tạo pdf và in, sau đó xóa tất cả hóa đơn của mình cùng một lúc. Nhiều đánh giá cao. Về vấn đề cuối cùng để giải quyết và tôi nghĩ chương trình sẽ hoạt động.
Jen

1
@Jen Vui mừng vì nó đã giúp :) Khi bạn tự tin rằng vấn đề của bạn đã được giải quyết, đừng quên nhấp vào đánh dấu bên cạnh câu trả lời giúp bạn
Jonno

@Junno Tự hỏi nếu bạn có thể giúp đỡ. Tôi hiện đang nhận được một mã lỗi trên dòng "LOOP UNTIL" của bạn. Nó đang nói với tôi các chỉ số ngoài phạm vi. Tôi đã tìm kiếm lý do tại sao điều đó có thể xảy ra nhưng tôi không biết điều gì đã thay đổi. Có ý kiến ​​gì không?
Jen

@Jen Bạn có sửa đổi gì không? Dòng nào ném lỗi? Bảng vẫn được đặt tên là "Phương thức thanh toán" và cột có dữ liệu vẫn là C?
Jonno

Tôi đồng ý với cả hai. Không thay đổi
Jen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.