Macro Excel có thể điền các công thức tham chiếu đến sổ làm việc khác và điền chúng xuống không? Tôi có một tệp Excel nơi tôi cần nhập một công thức tham chiếu đến một sổ làm việc Excel khác. Trước đây, quy trình là để mở sổ làm việc khác đó và sao chép thủ công công thức cần thiết vào trang tính được đề cập và điền vào. Ô bên cạnh là công thức nhân một giá trị từ tệp gốc với số mới được điền từ tệp tham chiếu. Cho đến nay tôi đã đánh giá cao khả năng điền các công thức. Tôi đã thử xóa tham chiếu đến trang tính khác cho công thức thứ nhất và đặt vào một công thức giả để xem liệu tôi có thể làm cho mọi thứ hoạt động mà không cần tham chiếu bên ngoài hay không, nhưng mã của tôi đang bị lỗi tại ".Range (" N2: O2 "" ) .Formula = strFormulas "dòng. Dim strFormulas (1 to 2) as Variant Với ActiveSheet.Select strFormulas (1) = "= IFNA (VLOOKUP (B2, '[OtherFile.xlsx] Tất cả các phần'! $ A: $ E, 5, FALSE), 0)" strFormulas (2) = "= K2 * N2" .Range ("N2: O2"). Công thức = strFormulas .Range ("N2: O" & Lrow) .FillDown Kết thúc với * Lrow trước đây được định nghĩa là "Dim Lrow As Long" Tôi nhận được mã đó từ vị trí này:
Excel VBA: Tự động điền nhiều ô bằng công thức - Tràn ngăn xếp Cảm ơn trước vì bất kỳ hướng dẫn nào có thể được cung cấp.
Câu trả lời:
Tôi đã làm cho nó hoạt động bằng cách sử dụng mã sau. Có thể cơ bản hơn một chút, nhưng cũng có thể là cách tiếp cận đúng. Không chắc liệu tôi có làm phức tạp nó trước đây không. Phạm vi ("N2"). Công thức = "= IFNA (VLOOKUP (B2, '[OtherFile.xlsx] Tất cả các phần'! $ A: $ E, 5, FALSE), 0)" Dãy ("O2"). Công thức = "= K2 * N2" Phạm vi ("N2: O" & Lrow) .FillDown Các cột ("N: O"). Chọn Selection.NumberFormat = "$ #, ## 0,00"
Comments
Post a Comment