Em mò mẫm mãi mà chưa rõ dùng hàm nào để hiện sheet trong add-ins với ah?

Liên hệ QC

Lequocvan

Thành viên thường trực
Tham gia
21/8/07
Bài viết
365
Được thích
128
Donate (Paypal)
Donate
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Agribank
Em mò mẫm mãi mà chưa rõ dùng hàm nào để hiện sheet trong add-ins với ah? ví dụ trong add-ins có khoảng 10 sheet đi kèm, em muốn hiện đích danh 1 vài sheet thì dùng hàm nào ah?
AddIns("Agribank").Installed : kiểm tra xem add-ins có được setup chưa?
MsgBox Worksheets(15).CodeName : Codename, tên worksheet trong vba chứ không phải tên worksheet nhìn thấy trong workbook.
Nhờ mọi người chỉ giúp ah!?
 
Tôi cũng muốn mồ mẫm như chủ topic lắm nhưng không có file nào cả???
 
ý em là, trong cái add-ins của em có 10 worksheet, giờ em muốn hiện 1 worksheet thì như thế nào?
ThisWorkbook.IsAddin = False
Call Showsheet("NHANVIEN")

trong đó:
Sub ShowSheet(TenSheet As String) 'Chi hien thi 1 Sheet, con cac Sheet con lai an het
Dim IsSheetExist As Boolean
IsSheetExist = False
For i = 1 To ThisWorkbook.Sheets.Count 'Khong the ket hop voi vong lap phia duoi vi khi an Sheet co the luc do WorkBook khong con Sheet ton tai nen bao loi
If UCase(ThisWorkbook.Sheets(i).Name) = UCase(TenSheet) Then
ThisWorkbook.Sheets(i).Visible = True
IsSheetExist = True
End If
Next

If IsSheetExist = False Then
MsgBox "Sheet: " & TenSheet & " khong ton tai, xem lai!", vbOKOnly, "Bao loi"
Exit Sub
End If

For i = 1 To ThisWorkbook.Sheets.Count
If UCase(ThisWorkbook.Sheets(i).Name) <> UCase(TenSheet) Then
ThisWorkbook.Sheets(i).Visible = False
End If
Next
End Sub
 
trong đó, showsheet trên chỉ có tác dụng với workbook hiện tại, mà em là muốn hiện lên worksheet trong add-ins cơ!
 
ý em là, trong cái add-ins của em có 10 worksheet, giờ em muốn hiện 1 worksheet thì như thế nào?
ThisWorkbook.IsAddin = False
Call Showsheet("NHANVIEN")

trong đó:
Sub ShowSheet(TenSheet As String) 'Chi hien thi 1 Sheet, con cac Sheet con lai an het
Dim IsSheetExist As Boolean
IsSheetExist = False
For i = 1 To ThisWorkbook.Sheets.Count 'Khong the ket hop voi vong lap phia duoi vi khi an Sheet co the luc do WorkBook khong con Sheet ton tai nen bao loi
If UCase(ThisWorkbook.Sheets(i).Name) = UCase(TenSheet) Then
ThisWorkbook.Sheets(i).Visible = True
IsSheetExist = True
End If
Next

If IsSheetExist = False Then
MsgBox "Sheet: " & TenSheet & " khong ton tai, xem lai!", vbOKOnly, "Bao loi"
Exit Sub
End If

For i = 1 To ThisWorkbook.Sheets.Count
If UCase(ThisWorkbook.Sheets(i).Name) <> UCase(TenSheet) Then
ThisWorkbook.Sheets(i).Visible = False
End If
Next
End Sub

Ngay cái Addins đó, chọn vào Thisworkbook, trong Properties của nó chọn mục IsAddin là False.
 
Ý của em là từ bất kỳ 1 workbook nào cũng có thể gọi được đích danh worksheet trong add-ins
 
Ý của em là từ bất kỳ 1 workbook nào cũng có thể gọi được đích danh worksheet trong add-ins
Gọi đích danh là gọi thế nào? (Active workbook chứa sheet đó, ẩn tất cả các sheet khác và chỉ hiện sheet đó) từ workbook bất kỳ (giả sử có nhiều workbook đang mở)?
Và xảy ra trường hợp trùng tên sheet cần xác định trong các workbook đang mở.
 
Ý của em là từ bất kỳ 1 workbook nào cũng có thể gọi được đích danh worksheet trong add-ins
Gọi nó để làm gì vậy bạn? Nếu kêu nó mở lên và cái sheet nào đó của nó hiển thị trong cái file đang mở thì không được à nha, nếu gọi nó hiện sheet đó thì nó mở thành 1 file độc lập.

Nhưng nếu dùng 1 sheet trong Addins để làm template (làm mẫu), thì muốn copy hay làm gì đó trong addins đó phải dùng cấu trúc sau:

Workbooks("CalendarShow_V.5.xla").Sheets("Sheet1").UsedRange.Copy

Nhớ là tên của nó phải đầy đủ và có đuôi của nó luôn nhé.
 
Em đã tìm ra:
'On Error Resume Next
If IsError(ActiveWorkbook.Worksheets("index")) Then
Set ws1 = Workbooks("AgriBank.xla").Sheets("index")
ws1.Copy , After:=ActiveWorkbook.Sheets(Sheets.Count)
Else
Application.DisplayAlerts = False
Worksheets("index").Delete
Application.DisplayAlerts = True
Set ws1 = Workbooks("AgriBank.xla").Sheets("index")
ws1.Copy , ActiveWorkbook.Sheets(Sheets.Count)
End If
 
Web KT

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

Back
Top Bottom