[help] xin code chuyển sheet

jukohoivisao

New Member
Hội viên mới
e đang vướng ở vấn đề liên kết đến sheet khác ... ví dụ
Ban đầu e tạo nút ẩn hết tất cả các sheet trên sheet Menu
Sau đó tạo nút ấn D500 ở sheet Menu khi nhấn vào thì sẽ hiện đồng thời 2 sheet D510 và D520, nút ấn D600 ở sheet Menu thì khi nhấn vào sẽ hiện đồng thời 2 sheet D610 và D620, tương tự các nút ấn khác sẽ chuyển đến 2 sheet khác ...
Nhưng
em tìm trên GPE và cả google cũng chỉ có macro liên kết từ sheet này đến 1 sheet khác

Sub LinktoSheet()
With ActiveSheet
With Sheets(.Shapes(Application.Caller).AlternativeText )
.Visible = True: .Select
End With
.Visible = 2
End With
End Sub

ac nào biết giúp e với ... e cảm ơn !!!
 
Ðề: [help] xin code chuyển sheet

Sub LinktoSheet()
With ActiveSheet
With Sheets(.Shapes(Application.Caller).AlternativeText )
.Visible = True: .Select
End With
.Visible = 2
End With
End Sub

ac nào biết giúp e với ... e cảm ơn !!!

Sai bét !!!!

Vào Ðề tài: Hỗ trợ code tạo mục lục. Code trong đó

Shapes(Application.Caller).AlternativeText . Tôi đoán cậu vào website nào của mẽo đọc mà ko hiểu . Đó là cách chỉ tạo nút là button dùng hyperlink hoặc Assign macro . Muốn assign macro, cậu phải create a new Sheet name (ví dụ mymacro) . Trang macro sẽ có vài procedure sheet1,sheet2 v.v.... để display
 
Ðề: [help] xin code chuyển sheet

Sai bét !!!!

Vào Ðề tài: Hỗ trợ code tạo mục lục. Code trong đó

Shapes(Application.Caller).AlternativeText . Tôi đoán cậu vào website nào của mẽo đọc mà ko hiểu . Đó là cách chỉ tạo nút là button dùng hyperlink hoặc Assign macro . Muốn assign macro, cậu phải create a new Sheet name (ví dụ mymacro) . Trang macro sẽ có vài procedure sheet1,sheet2 v.v.... để display
e xem trên GPE, bác có thể chỉnh lại code cũ của bác giúp e ko
Sub ListSheetsAndTitles()

Dim ws As Worksheet
Dim x As Integer

x = 1

Sheets("Mucluc").Range("A:A").Clear

For Each ws In Worksheets

Sheets("Mucluc").Cells(x, 1) = ws.Name & " " & ws.Cells(3, 1).Value

x = x + 1

Next ws

End Sub

mục đích của em là gộp 2 sheet lại làm 1 nhóm. VD tạo nút D500 ấn vào sẽ hiện D510 và D520, G600 sẽ hiện lên G610 và G620
e cảm ơn bác
 
Ðề: [help] xin code chuyển sheet

e xem trên GPE, bác có thể chỉnh lại code cũ của bác giúp e ko
Sub ListSheetsAndTitles()

Dim ws As Worksheet
Dim x As Integer

x = 1

Sheets("Mucluc").Range("A:A").Clear

For Each ws In Worksheets

Sheets("Mucluc").Cells(x, 1) = ws.Name & " " & ws.Cells(3, 1).Value

x = x + 1

Next ws

End Sub

mục đích của em là gộp 2 sheet lại làm 1 nhóm. VD tạo nút D500 ấn vào sẽ hiện D510 và D520, G600 sẽ hiện lên G610 và G620
e cảm ơn bác

Code tạo ListMenu ko dính dáng gì làm Group hết
ListSheetsAndTitles chỉ chuyển hạy ang Sheets . Ko có dính dáng gì Group hết . Câu hỏi của đề bài này là " xin code chuyển sheet " . Đâu có hỏi GROUP gì đâu ????

Group là trường hợp cậu có vài Sheets format giống nhau, muốn Edit cùng 1 lúc . Tôi chưa làm Group bao giờ . Tuy nhiên đây là 2 trang gướng dẫn chỉ cách Group . Chẳng hiểu có đúng ý cậu muốn hay ko. Hướng dẫn bằbg hình ảnh rõ ràng

How to Ungroup in Excel: 5 Steps (with Pictures) - wikiHow
http://www.wikihow.com/Group-anđOutline-ExcelĐata

Trường hợp muốn Group cho mục đích khác thì dùng wSheet.UsedRange.Rows.Group . Tùy cậu muốn chỉ định Sheets nào .

Tôi ko biết Excel cậu có structure ra sao , Tôi chỉ đoán ý cậu nói . Cách tạo button để chuyển sheets thì đã trả lời rồi
 
Ðề: [help] xin code chuyển sheet

bên GPE có giúp đỡ và được file này, em thấy code cũng khá dài và phải tạo vùng tham chiếu trên sheet chính MENU (có chứa dữ liệu của em). em muốn thay vùng tham chiếu bằng cách viết trực tiếp sheet mình muốn hiện trên code
Bác giúp em hiệu chỉnh chút được ko ạ, cảm ơn bác nhiều !!!
 

Đính kèm

  • file link sheet theo nhom.xls
    63.5 KB · Lượt xem: 235
Ðề: [help] xin code chuyển sheet

bên GPE có giúp đỡ và được file này, em thấy code cũng khá dài và phải tạo vùng tham chiếu trên sheet chính MENU (có chứa dữ liệu của em). em muốn thay vùng tham chiếu bằng cách viết trực tiếp sheet mình muốn hiện trên code
Bác giúp em hiệu chỉnh chút được ko ạ, cảm ơn bác nhiều !!!

Giờ thì tôi hiểu cậu nói và ý cậu muốn rồi . Thế mà nói ko đâu vào đâu, chán cậu qúa

1- Trong cái Module 1 , có Sub ShoworHideAllSheet() dài bỏ mẹ chẳng có khỉ gì . Do dó cậu la^'y code của tôi Muc Lục để tạo list các sheets trong workbook . Đơn giản vậy đó
2- Giờ cậu đã biếi tàm cái buttons rồi , not too bad
3- Giờ cậu paste Code này vào Module
4- Muốn Hide All thì:
Sub HideEmAll()
Sheet2.Columns("A:C").EntireColumn.Hidden = True
End Sub

5- Muốn chỉ hiện Column A (cột A) thì
Sub UnhideA()
Sheet2.Columns("A:A").EntireColumn.Hidden = False
End Sub

6- Muốn hiện cột B thì
Sub UnhideB()
Sheet2.Columns("A:A").EntireColumn.Hidden = False
End Sub

7- Tương tự hiện cột C

8- Muốn hiện hện hết
Sub UnhideAll()
Sheet2.Columns("A:C").EntireColumn.Hidden = False
End Sub

9-Muốn hide cột A và B
Sub hideAB()
Sheet2.Columns("A:B").EntireColumn.Hidden = True
End Sub

Giờ cậu chỉ định từng nút button
1- RIGHT click vào Hide All
2- Chọn Assign Macro
3- Chọn HideEmAll

Tương tự cho các Buttons khác

===========
Phần này extra cho cậu

Nếu muố Ẩn hay Hiện Sheets nào :

Hide Sheet1
Worksheets("Sheet1").Visible = False

Unhide Sheet 1

Worksheets("Sheet1").Visible = True
 
Sửa lần cuối:
Ðề: [help] xin code chuyển sheet

Em chẳng hiểu các bác nói gì cả, cái gì mà
sheet D510 và D520
sao không dùng code show sheet ra ạ? VD:
PHP:
SheetD510.Show
 
Sửa lần cuối:
Ðề: [help] xin code chuyển sheet

Giờ thì tôi hiểu cậu nói và ý cậu muốn rồi . Thế mà nói ko đâu vào đâu, chán cậu qúa

1- Trong cái Module 1 , có Sub ShoworHideAllSheet() dài bỏ mẹ chẳng có khỉ gì . Do dó cậu la^'y code của tôi Muc Lục để tạo list các sheets trong workbook . Đơn giản vậy đó
2- Giờ cậu đã biếi tàm cái buttons rồi , not too bad
3- Giờ cậu paste Code này vào Module
4- Muốn Hide All thì:
Sub HideEmAll()
Sheet2.Columns("A:C").EntireColumn.Hidden = True
End Sub

5- Muốn chỉ hiện Column A (cột A) thì
Sub UnhideA()
Sheet2.Columns("A:A").EntireColumn.Hidden = False
End Sub

6- Muốn hiện cột B thì
Sub UnhideB()
Sheet2.Columns("A:A").EntireColumn.Hidden = False
End Sub


===========
Phần này extra cho cậu

Nếu muố Ẩn hay Hiện Sheets nào :

Hide Sheet1
Worksheets("Sheet1").Visible = False

Unhide Sheet 1

Worksheets("Sheet1").Visible = True

không phải là em muốn hiện một cột mà là hiện một nhóm sheet cùng chủ đề
VD: các sheet D510, D520, D530 ... làm về chủ đề tiền
các sheet F100, F120, F130 .... Làm về nguồn vốn
các sheet G100, G120, G130 ... làm về hàng tồn kho

còn ẩn hay hiện 1 sheet hoặc tất cả các sheet trong file thì em biết rồi, bác biết chỉ dùm em
Cảm ơn bác rất nhiều !!!
 
Ðề: [help] xin code chuyển sheet

không phải là em muốn hiện một cột mà là hiện một nhóm sheet cùng chủ đề
VD: các sheet D510, D520, D530 ... làm về chủ đề tiền
các sheet F100, F120, F130 .... Làm về nguồn vốn
các sheet G100, G120, G130 ... làm về hàng tồn kho

còn ẩn hay hiện 1 sheet hoặc tất cả các sheet trong file thì em biết rồi, bác biết chỉ dùm em
Cảm ơn bác rất nhiều !!!

Muốn như vầy huh ???

Sub UnhideAllSheets()
'Unhide all sheets in workbook.
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub

Sub HideD110D120Sheets()
Dim sh As Worksheet
Application.ScreenUpdating = False
On Error Resume Next

Sheet3.Visible = False ' D110
Sheet4.Visible = False ' D120

Sheet2.Activate

Application.ScreenUpdating = True
End Sub
 
Ðề: [help] xin code chuyển sheet

Cách troub****oot để cậu thấy rõ code viết cái gì . Vidụ

Sub AnSheetG()
Const SHEETCHU = "MENU" ' tên sheet ch?, b?n s?a tên sheet ch? ? dây
Const VUNGTENSHEETS = "C1:C10" ' vùng ch?a tên các sheet c?n ch?a l?i, không ?n. N?u c?n s?a thì s?a ? dây

Dim rg As Range

Dim danhSach As String ' lap danh sach cac sheet se khong bi an
danhSach = SHEETCHU ' luon luon chua sheet chu khong an

For Each rg In Sheets(SHEETCHU).Range(VUNGTENSHEETS)
If rg.Value <> "" Then
danhSach = danhSach & NAMESTRDELIM & Trim(rg.Value)
MsgBox "danhSach: " & danhSach
MsgBox " rg.Value: " & rg.Value
MsgBox "VUNGTENSHEETS: " & VUNGTENSHEETS
End If
Next

danhSach = NAMESTRDELIM & danhSach & NAMESTRDELIM

AnChuaLaiSheets danhSach
Sheets(SHEETCHU).Select
End Sub

Ko có data, ko có Outline ( chỨng tỏ O có gì hide) !!!! Retreive cái gì trong đó ????


Đọc kỹ cái code

For Each rg In Sheets(SHEETCHU).Range(VUNGTENSHEETS)
If rg.Value <> "" Then
danhSach = danhSach & NAMESTRDELIM & Trim(rg.Value)
End If

Nếu C1:C10 mà BLANK thì ko hien ra Sheet D110, D120 .

Nếu đúng D110 , D120 thì hiện ra 2 Sheets . Có vậy thôi .

Trong cái Workbook của cậu, moi đâu ra VBA hide các sheets này ???
F100, F120, F130 .... Làm về nguồn vốn
các sheet G100, G120, G130 ... làm về hàng tồn kho

Are you kidding me ???

Group đâu mà ở trong này ??? Show me where is the command of Group in VBA
Where is the code for Sheets F100, F120, F130, G100, G120, G130

You want Group
Selection.Columns.Group

When you unhide all worsheets, do you see any Sheets F100, F120, F130, G100, G120, G130 .

Good Luck
 
Sửa lần cuối:

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top