GIÚP CODE QUẢN LÝ VÀ TẠO NAME

Liên hệ QC

babyheomoi

Thành viên thường trực
Tham gia
22/9/13
Bài viết
396
Được thích
91
Xin chào mọi người, em đang có vấn đề cần mọi người giúp như sau:
1. Em đang muốn quản lý (thêm, xóa, sửa) Name trong excel bằng VBA.
Cụ thể, em sẽ có 1 sheet với các thông tin Name, scope và refer To của Name đó
2. Khi data bị lỗi hay thay đổi, em chỉ cần lấy thông tin cũ hoặc thêm thông tin mới hoặc edit thông tin cũ ở sheet quản lý Name đó rồi code chạy sửa - thêm mới Names vào workbook/worksheet.
Mọi người giúp em với ạ!
Em cám ơn
 
Xin chào mọi người, em đang có vấn đề cần mọi người giúp như sau:
1. Em đang muốn quản lý (thêm, xóa, sửa) Name trong excel bằng VBA.
Cụ thể, em sẽ có 1 sheet với các thông tin Name, scope và refer To của Name đó
2. Khi data bị lỗi hay thay đổi, em chỉ cần lấy thông tin cũ hoặc thêm thông tin mới hoặc edit thông tin cũ ở sheet quản lý Name đó rồi code chạy sửa - thêm mới Names vào workbook/worksheet.
Mọi người giúp em với ạ!
Em cám ơn
Tôi hướng dẫn cho bạn 2 cách tạo name và xóa name:

Mã:
Sub TaoName()
    Range("A1:D9").Name = "NghiaDepTrai"
    Range("E1:J9").Name = "QuaDepTrai"
End Sub

Sub XoaName()
    ActiveWorkbook.Names("QuaDepTrai").Delete
End Sub
 
Upvote 0
Xin chào mọi người, em đang có vấn đề cần mọi người giúp như sau:
1. Em đang muốn quản lý (thêm, xóa, sửa) Name trong excel bằng VBA.
Cụ thể, em sẽ có 1 sheet với các thông tin Name, scope và refer To của Name đó
2. Khi data bị lỗi hay thay đổi, em chỉ cần lấy thông tin cũ hoặc thêm thông tin mới hoặc edit thông tin cũ ở sheet quản lý Name đó rồi code chạy sửa - thêm mới Names vào workbook/worksheet.
Mọi người giúp em với ạ!
Em cám ơn
Thử sử dụng Code sau để tạo Name hàng loạt.
Lưu ý:
1/ Với code này thì gõ tiêu đề cột là không có dấu.
2/ Nó sẽ lấy tên theo tiêu đề cột (dòng 1) và theo cột chứa nhiều nội dung nhất nên Khi sử dụng Data Validation sẽ có nhiều khoảng trống bên dưới cùng. Để không có khoảng trống thì nên sử dụng code1 có tên là TaoName_Mot, xem code trong File.
Mã:
Sub TaoName_Hai()
       Sheet1.Range("A1").CurrentRegion.Offset(, 1).CreateNames Top:=True
End Sub
 

File đính kèm

  • Tao Name Range.xlsm
    20.9 KB · Đọc: 16
Upvote 0
Thử sử dụng Code sau để tạo Name hàng loạt.
Lưu ý:
1/ Với code này thì gõ tiêu đề cột là không có dấu.
2/ Nó sẽ lấy tên theo tiêu đề cột (dòng 1) và theo cột chứa nhiều nội dung nhất nên Khi sử dụng Data Validation sẽ có nhiều khoảng trống bên dưới cùng. Để không có khoảng trống thì nên sử dụng code1 có tên là TaoName_Mot, xem code trong File.
Mã:
Sub TaoName_Hai()
       Sheet1.Range("A1").CurrentRegion.Offset(, 1).CreateNames Top:=True
End Sub
Dạ, cám ơn anh! Em đang nghiên cứuu
Tuy nhiên, em muốn từ range có sẵn tạo name như hình thì code thay đổi thế nào anh?
Em cám ơn
 

File đính kèm

  • help gpe_name.png
    help gpe_name.png
    9.3 KB · Đọc: 17
Upvote 0
Dạ, cám ơn anh! Em đang nghiên cứuu
Tuy nhiên, em muốn từ range có sẵn tạo name như hình thì code thay đổi thế nào anh?
Em cám ơn
Bạn dùng thủ tục này nhé.

Rich (BB code):
Sub NameCreate()
    Dim e As Long
    Dim shTaoName As Worksheet
    Set shTaoName = Sheets("Sheet1")
    
    shTaoName.Range("B2:B20").Name = "Mit"
    shTaoName.Range("C2:C18").Name = "Chery"
    
    e = shTaoName.Range("D" & Rows.Count).End(xlUp).Row
    shTaoName.Range("D2:D" & e).Name = "Man"
    
    ThisWorkbook.Names("Chery").Visible = False
End Sub

Với chỗ này: Sheets("Sheet1") bạn thay tên sheet vào là được.

ThisWorkbook.Names("Chery").Visible = False

Muốn hiện lên lại thì đổi False thành True.
 
Upvote 0
D
Bạn dùng thủ tục này nhé.

Rich (BB code):
Sub NameCreate()
    Dim e As Long
    Dim shTaoName As Worksheet
    Set shTaoName = Sheets("Sheet1")
   
    shTaoName.Range("B2:B20").Name = "Mit"
    shTaoName.Range("C2:C18").Name = "Chery"
   
    e = shTaoName.Range("D" & Rows.Count).End(xlUp).Row
    shTaoName.Range("D2:D" & e).Name = "Man"
   
    ThisWorkbook.Names("Chery").Visible = False
End Sub

Với chỗ này: Sheets("Sheet1") bạn thay tên sheet vào là được.

ThisWorkbook.Names("Chery").Visible = False

Muốn hiện lên lại thì đổi False thành True.
DẠ, cám ơn anh!
Ý em là các tên Name e đặt ở cột A, refer to Range ở cột B, visible ở cột C, em muốn tạo tên hàng loạt theo value e đã tạo ở 1 sheet excel ấy ạ!
 
Upvote 0
Người giúp còn thò tay gõ được code, tạo được file, đính kèm lên đàng hoàng.
Vậy tại sao mình đi nhờ giúp lại không tạo được cái file, trong đó:
Mô tả 3 cái names như thế nào thì tạo 3 cái names thật như thế vào file, và gửi cái file đó lên.
Rồi hô lên rằng: "Em cần tạo names như mô tả ở chỗ mô, em đã dùng tay không tạo ra như trong file rồi, giờ cần code làm việc đó. Có thế thôi!


Mấy bài rồi mà vẫn còn ý ý, ý vẫn ở trong đầu thì có tác dụng gì.
 
Upvote 0
Web KT
Back
Top Bottom