Lấy dữ liệu từ các tệp đã đóng bằng công thức nối


0

Mỗi ngày một chương trình đang tạo một tệp excel cho tôi với một số dữ liệu cho ngày hiện tại. Giống như giá của sản phẩm là bao nhiêu, hôm nay có bao nhiêu người và những thứ tương tự.

Dựa trên tất cả những điều này tôi cần đưa ra một số dự báo và phân bổ nơi làm việc cho công nhân. Vấn đề là, tôi cần phải kéo tất cả thông tin này bằng tay mọi lúc. Vì vậy, để làm cho nó tự động, tôi đặt công thức trong các ô như:

='c:\ABC\[ABC 29-01-14.xlsx]sheet'!a1

Mọi thứ đều hoạt động tốt, nhưng ngày hôm sau tôi phải thay đổi tên tệp cho " ABC 30-01-14" cho mỗi ô, giống như nhập dữ liệu theo cách thủ công.

Vì vậy, tôi đã sử dụng concatenatecông thức "" để tự động thay đổi ngày theo ngày hôm nay. Tôi đã sử dụng indirectcông thức "" để biến nó thành một công thức thực sự, không phải chuỗi văn bản và nhận ra rằng nó chỉ hoạt động cho các tệp đang mở, không bị đóng.

Có cách nào để làm điều này cho các tệp đã đóng mà không có VBA không, vì tôi không biết hoặc với VBA nhưng được giải thích cho một thằng ngốc.


Bạn không thể lấy dữ liệu từ một sổ làm việc đã đóng indirect, như bạn biết. Hoặc bạn cần một tài liệu tham khảo tuyệt đối hoặc bạn cần một tài liệu tham khảo tương đối thông qua VBA. Những gì bạn mô tả là (không may) làm thế nào nó dự định làm việc.
Raystafarian

Ồ, tôi tìm thấy chủ đề này cung cấp cho bạn một giải pháp.
Raystafarian

Câu trả lời:


0

Thật thú vị, tôi đã nghiên cứu điều này, bởi vì đối với một tài liệu excel khổng lồ (kéo khoảng 50 tế bào mỗi tuần vào một tài liệu duy nhất kéo dài một năm rưỡi)

Tôi đã có thể lấy dữ liệu từ các sổ làm việc đã đóng (excel 2013 và 2016), nhưng bây giờ trong một tài liệu mới tôi gặp khó khăn khi làm như vậy.

Cách tôi có thể làm trước đây, bằng cách tạo một công thức được nối, có một bản sao vĩ mô mà mỗi tháng mới thực hiện một hàng mới làm giá trị, sau đó chạy một đoạn trích (cảm ơn tôi là người hướng dẫn diễn đàn giấu tên đã cung cấp quá khứ ) trong macro để xóa bất kỳ dấu nháy đơn hàng đầu nào, sau đó kéo xuống công thức cho từng ô.

Như bạn đã nói ở trên, bạn cần chắc chắn rằng đó là đường dẫn tương đối đầy đủ ( 'c:\abc\[abcdoc.xlsx]sheet').

Đoạn trích:

'Removes Apostrophes from A14:AR14
    Range("A14:AI14").Select
' Removes hidden apostrophes as first character
' Works on formulas as well as text and values
    For Each CurrentCell In Selection
    If CurrentCell.HasFormula = False Then

'Checks to make sure that procedure does not
'change cell with a formula to be only the value
    CurrentCell.Formula = CurrentCell.Value
    End If
    Next
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.