Nhờ viết code DisplayGridlines (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thangcola113

Thành viên mới
Tham gia
7/12/10
Bài viết
49
Được thích
8
Nghề nghiệp
kiểm toán xây dựng
Nhờ các bác giúp e viết code có tác dụng:
ActiveWindow.DisplayGridlines = True
Em muốn lưu code trên thành dạng .xla để có tác dụng:
- khi mở file excell lên thì code chạy cho mọi sheet
- khi thêm sheets mới thì cũng chạy code
Mục đích: làm mọi sheet đều có dạng xem DisplayGridlines = True
 
Thì mặc định Excel đang DisplayGridlines = True rồi, cần gì viết lách chi nữa
Chẳng lẽ Excel của bạn không giống vậy?
Excell 2007 và 2010 khi cài dự toán acitt thì bị lỗi trên (luôn DisplayGridlines = False), và code của phần mềm dự toán thì mặc định là không thể thay đổi, nên em muốn nhờ viết code trên, bác giúp e cái.Cảm ơn bác trước
 
Upvote 0
Excell 2007 và 2010 khi cài dự toán acitt thì bị lỗi trên (luôn DisplayGridlines = False), và code của phần mềm dự toán thì mặc định là không thể thay đổi, nên em muốn nhờ viết code trên, bác giúp e cái.Cảm ơn bác trước

- Bật chức năng record macro lên
- Chuyển sang tab View, check nút Gridlines
- Tắt record macro
- Bấm Alt + F11 và xem code
 
Upvote 0
- Bật chức năng record macro lên
- Chuyển sang tab View, check nút Gridlines
- Tắt record macro
- Bấm Alt + F11 và xem code
Em có biết cách record rồi và đưa được kết quả dòng code đó là:
ActiveWindow.DisplayGridlines = True
Tuy nhiên, vấn đề của e gặp phải là:
Em muốn lưu code trên thành dạng .xla (sẽ load khi mở file) để có tác dụng:
- khi mở file excell lên thì code chạy cho mọi sheet
- khi thêm sheets mới thì cũng chạy code
Hình như phải dùng sự kiện ..., cái này e không hiểu nên nhờ bác giúp e
 
Upvote 0
Em có biết cách record rồi và đưa được kết quả dòng code đó là:
ActiveWindow.DisplayGridlines = True
Tuy nhiên, vấn đề của e gặp phải là:

Hình như phải dùng sự kiện ..., cái này e không hiểu nên nhờ bác giúp e

Bạn thí nghiệm với hai sự kiện: SheetActivate và SheetSelectionChange, xong thích dùng kiểu nào thì chọn lấy một kiểu:


Chép code vào ThisWorkBook
Mã:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveWindow.DisplayGridlines = True
End Sub

'hoặc:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ActiveWindow.DisplayGridlines = True
End Sub
 
Upvote 0
Bạn thí nghiệm với hai sự kiện: SheetActivate và SheetSelectionChange, xong thích dùng kiểu nào thì chọn lấy một kiểu:


Chép code vào ThisWorkBook
Mã:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveWindow.DisplayGridlines = True
End Sub

'hoặc:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ActiveWindow.DisplayGridlines = True
End Sub
Nếu muốn lưu thành Add-In để có tác dụng cho mọi Wb thì không dùng code như vậy được đâu anh à!
Phải dùng Class mới ăn
 
Upvote 0
Nếu muốn lưu thành Add-In để có tác dụng cho mọi Wb thì không dùng code như vậy được đâu anh à!
Phải dùng Class mới ăn

Vậy mấy vụ class đơn giản này để mình, luôn tiện nghiên cứu, khi nào mình bí thì ới nhá!

Code trong Class1
Mã:
Private WithEvents ExcelApp As Excel.Application
Private Sub Class_Terminate()
    Set ExcelApp = Nothing
End Sub
Public Sub ReCreate(ByVal ExcelApplication As Excel.Application)
    If ExcelApp Is Nothing Then Set ExcelApp = ExcelApplication
End Sub
Private Sub ExcelApp_SheetActivate(ByVal Sh As Object)
    ActiveWindow.DisplayGridlines = True
End Sub

Code trong Module
Mã:
Dim ExcelEvents As Class1
Sub Auto_Open()
    Set ExcelEvents = New Class1
    ExcelEvents.ReCreate Application
End Sub
Sub Auto_Close()
    Set ExcelEvents = Nothing
End Sub

Ẹc ... ẹc hình như lần đầu tiên chế biến class.
 

File đính kèm

Upvote 0
Vậy mấy vụ class đơn giản này để mình, luôn tiện nghiên cứu, khi nào mình bí thì ới nhá!

Code trong Class1
Mã:
Private WithEvents ExcelApp As Excel.Application
Private Sub Class_Terminate()
    Set ExcelApp = Nothing
End Sub
Public Sub ReCreate(ByVal ExcelApplication As Excel.Application)
    If ExcelApp Is Nothing Then Set ExcelApp = ExcelApplication
End Sub
Private Sub ExcelApp_SheetActivate(ByVal Sh As Object)
    ActiveWindow.DisplayGridlines = True
End Sub

Code trong Module
Mã:
Dim ExcelEvents As Class1
Sub Auto_Open()
    Set ExcelEvents = New Class1
    ExcelEvents.ReCreate Application
End Sub
Sub Auto_Close()
    Set ExcelEvents = Nothing
End Sub

Ẹc ... ẹc hình như lần đầu tiên chế biến class.
Hình như còn thiếu sự kiện Open và New Workbook thì phải
 
Upvote 0
Vậy mấy vụ class đơn giản này để mình, luôn tiện nghiên cứu, khi nào mình bí thì ới nhá!

Code trong Class1
Mã:
Private WithEvents ExcelApp As Excel.Application
Private Sub Class_Terminate()
    Set ExcelApp = Nothing
End Sub
Public Sub ReCreate(ByVal ExcelApplication As Excel.Application)
    If ExcelApp Is Nothing Then Set ExcelApp = ExcelApplication
End Sub
Private Sub ExcelApp_SheetActivate(ByVal Sh As Object)
    ActiveWindow.DisplayGridlines = True
End Sub

Code trong Module
Mã:
Dim ExcelEvents As Class1
Sub Auto_Open()
    Set ExcelEvents = New Class1
    ExcelEvents.ReCreate Application
End Sub
Sub Auto_Close()
    Set ExcelEvents = Nothing
End Sub

Ẹc ... ẹc hình như lần đầu tiên chế biến class.
Rất cảm ơn bác, addins nhỏ này giúp đỡ e rất nhiều trong công việc.
Nhìn vào kỹ thuật này thì e chẳng hiểu nổi chữ "đơn giản" của bác
 
Upvote 0
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom