Các macro Excel giữa Mac và Windows, và các phiên bản khác nhau

Các macro Excel giữa Mac và Windows, và các phiên bản khác nhau

Chào bạn

Tôi dùng Excel 2011 trên máy Mac, còn sếp tôi dùng Office 365 trên Windows (phiên bản Excel mới nhất). Tôi đã viết một macro cho sếp dùng, nhưng khi chạy thì lại báo lỗi. Vậy macro có tương thích giữa hệ điều hành Mac và Windows, cũng như giữa các phiên bản Excel khác nhau không?

Cảm ơn




Trả lời:
Xin chào
Tôi là V. Arya, Cố vấn độc lập, sẵn sàng hỗ trợ bạn giải quyết vấn đề này. Lỗi bạn gặp phải là lỗi gì? Nếu bạn biết câu lệnh nào gây ra lỗi này thì càng tốt.

Trả lời:

Đây là phần đầu của đoạn mã. Dòng được in đậm và gạch chân là vấn đề. Tôi tin rằng nó bị lỗi vì dòng lệnh Sheet1.Name = "Packing List Sheet" không được thực thi, do đó tên của trang tính bị sai. Tôi nghĩ vậy vì sau khi lỗi xảy ra, trang tính vẫn được gọi là "Worksheet" chứ không phải "packing list sheet". Tôi không nhớ lỗi cụ thể là gì, xin lỗi, điều đó xảy ra trong cuộc gọi của chúng ta. Nhưng phương án là gỡ lỗi.

Sub Package_List_Sheet()

'Mã được sắp xếp theo thứ tự và được phân tách bằng "/////":

'Bảng danh sách đóng gói'

'Bảng tham khảo'

'Ma trận vận chuyển đơn hàng số lượng lớn'

'Phiếu hóa đơn'

danh sách vận chuyển

'///////Bảng danh sách đóng gói Tính toán đơn vị chiết khấu BẮT ĐẦU//////////

Sheet1.Name = "Bảng danh sách đóng gói"

Range("A1:A8").UnMerge 'xử lý vấn đề hóa đơn kỳ lạ

Cột(8).Chọn 'Chèn cột giữa GH

ActiveCell.EntireColumn.Insert

Phạm vi ("H11").Giá trị = "Đơn vị giảm giá"

Range("H11").Font.Bold = True

Cột (8).Toàn bộ cột.Tự động điều chỉnh

NumberOfItems1 = Range("E11", Worksheets("Packing List Sheet").Range("E11").End(xlDown)).Count

Số lượng mặt hàng = Số lượng mặt hàng1 - 1

'Ghi chú lại số lượng mục trong danh sách'

'Range("A1").Value = NumberOfItems 'Kiểm tra để đảm bảo số lượng "mỗi" là chính xác



Trả lời:
Bất cứ khi nào bạn sử dụng Range, Columns, hãy chỉ định rõ ràng bằng tên Worksheet HOẶC nếu Packing List Sheet là ActiveSheet, thì hãy đặt giá trị này thành ActiveSheet.

Bạn có đang cố đổi tên Sheet1 khi nhập Sheet1.Name = "Packing List Sheet" không?

Trả lời:

Tôi đang cố gắng đổi tên trang tính, đúng vậy. Nó đã là trang tính đang hoạt động rồi nên tôi không cần thêm từ khóa để tránh rắc rối.

Macro chạy tốt, tôi chỉ không hiểu tại sao nó không hoạt động trên một phiên bản Excel khác, trong khi nó hoạt động hoàn hảo trên phiên bản của tôi.

Cảm ơn



Trả lời:
Được rồi. Vậy thì hãy kích hoạt trang tính này và tiến hành kiểm tra.
Phiếu bài tập ("Phiếu danh sách đóng gói"). Kích hoạt

Macro của bạn hoạt động. Tôi đã kiểm tra trên máy của mình. Khi bạn chạy nó trên máy Windows, vui lòng ghi lại dòng nào bị lỗi.

Comments

Popular posts from this blog

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ