Jean và Arnoldo đặt câu hỏi về Excel của tuần này.
Trong Lotus 1-2-3, bạn có thể ngăn chặn việc in một hàng bằng cách đặt ký tự đầu tiên là ký tự ống (|). Đây là mát mẻ bởi vì bạn có thể có một công thức trong cột A có thể được sử dụng để ngăn chặn việc in ấn của dòng với zero: @IF(E2=0,"|","")
. Excel dường như không cung cấp tính năng này. Tôi không muốn ẩn các hàng, tôi chỉ muốn ngăn việc in chúng trong Excel.
MrExcel có thể đồng cảm với hoàn cảnh của bạn. Tôi đã sử dụng Lotus 1-2-3 trong 8 năm trước khi công ty của tôi quyết định sử dụng Excel làm tiêu chuẩn mới. Chuyển đổi không bao giờ là tốt. Excel và Lotus tương tự nhau, nhưng Người dùng Power của Lotus 1-2-3 có xu hướng gặp vấn đề.
Vài năm sau khi chuyển đổi, bây giờ tôi cảm thấy Excel tốt hơn Lotus. Tuy nhiên, tôi nhận thức sâu sắc về cơn đau cần thiết khi chuyển đổi. Có thể dễ dàng coi những thay đổi như một cuộc tấn công cá nhân và tức giận với Microsoft. Tôi nhớ hàng ngày tôi đã nghĩ, "TẠI SAO tôi phải đặt ', False' làm đối số cuối cùng trong tất cả các @VLOOKUP của mình, và tại sao tệp trợ giúp không xuất hiện và chỉ cho tôi biết điều đó?".
Nếu bạn có macro được ghi lại trong Lotus 1-2-3, hãy nhớ rằng bạn có thể sử dụng Consulting by để chuyển đổi macro.
Có một số điều mà Lotus 1-2-3 đã thực hiện một cách dễ dàng mà không có sẵn trong Excel. Sự đơn giản tuyệt đẹp của / File Combine Add Entire trong Lotus được thay thế bằng 8 bước trong Excel.
Câu hỏi hôm nay với đường ống để ngăn chặn việc in các hàng là một ví dụ khác mà Excel không cung cấp tính năng tương tự. Macro LotusPrint bên dưới sẽ mô phỏng tính năng này. Nó không hiệu quả kinh khủng. Macro kiểm tra từng ô trong phạm vi hoạt động của cột A. Khi tìm thấy một đường ống, nó sẽ ẩn hàng. Sau đó, nó in trang tính và quay lại để hiện các hàng đã bị ẩn.
Option Base 1 Sub LotusPrint() ' ' LotusPrint Macro ' This Macro will temporarily hide rows that start with |, ' print the sheet, then unhide those rows. It is meant to ' emulate the Lotus 1-2-3 feature of not printing rows that ' start with a pipe. ' Copyright 1999 www.MrExcel.com ' ' Dim UnhideRow() As Single Application.ScreenUpdating = False ' Locate the final row in column A FinalRow = Range("A65536").End(xlUp).Row Ctr = 0 ' Check and hide each row that starts with a pipe For x = 1 To FinalRow If Left(Range("A" & x).Value, 1) = "|" Then ' Do nothing if the row is already hidden If Not Range("A" & x).EntireRow.Hidden Then Range("A" & x).EntireRow.Hidden = True ' Save the row number so that it can be unhidden Ctr = Ctr + 1 ReDim Preserve UnhideRow(Ctr) UnhideRow(Ctr) = x End If End If Next x ' Print the sheet ActiveWindow.SelectedSheets.PrintOut ' Unhide any hidden rows If Ctr> 0 Then For x = 1 To Ctr Range("A" & UnhideRow(x)).EntireRow.Hidden = False Next x End If Application.ScreenUpdating = True End Sub