Cách Add hay copy Defined name từ WoorkBook này sang WoorkBook khác

Liên hệ QC

thuyyeu99

Trùm Nhiều Chuyện
Tham gia
6/6/08
Bài viết
1,729
Được thích
874
Không biết trong vba excel mình có thể copy Defined name từ WoorkBook này sang WoorkBook khác , hay mình Add Defined name mà láy công thức từ trên bản tính được không ạh. Nếu được nhờ các anh chị trên diễn đàn hướng dẫn giúp em.
ví dụ

|
A​
|
B​
|
1​
|
Name​
|
Refers to​
|
2​
|CT|=OFFSET(banggia!$T$5,,,COUNTA(banggia!$T:$T),3)|
Cám ơn các anh chị quan tâm
 
Lần chỉnh sửa cuối:
Không biết trong vba excel mình có thể copy Defined name từ WoorkBook này sang WoorkBook khác , hay mình Add Defined name mà láy công thức từ trên bản tính được không ạh. Nếu được nhờ các anh chị trên diễn đàn hướng dẫn giúp em.
ví dụ

|
A​

|
B​
|
1​
|
Name​
|
Refers to​
|
2​
|CT|=OFFSET(banggia!$T$5,,,COUNTA(banggia!$T:$T),3)|
Cám ơn các anh chị quan tâm

Dễ mà, có nhiều cách, cách mình hay làm là:
1/ Tạo 1 list tên Name và refers to.
2/ Từ bảng đó tạo các name theo tiêu chí trên.
Copy làm gì phiền phức.
 
Upvote 0
Àh cám ơn anh hướng dẫn. Em làm được rồi ạh

Sub Addname()
ThisWorkbook.Names.Add Name:=Sheets("Sheet1").Range("A2"), _
RefersTo:=Sheets("Sheet1").Range("B2").Formula
End Sub

nếu em muốn copy name thẳng từ thisWoorkBook vào active.WoorkBook bỏ qua công đoạn lấy tên name để đưa vào sheet thì sao ạh, anh có thể cho em hướng để làm được không ạh
 
Lần chỉnh sửa cuối:
Upvote 0
Àh cám ơn anh hướng dẫn. Em làm được rồi ạh

Sub Addname()
ThisWorkbook.Names.Add Name:=Sheets("Sheet1").Range("A2"), _
RefersTo:=Sheets("Sheet1").Range("B2").Formula
End Sub

nếu em muốn copy name thẳng từ thisWoorkBook vào active.WoorkBook bỏ qua công đoạn lấy tên name để đưa vào sheet thì sao ạh, anh có thể cho em hướng để làm được không ạh
Google lấy tên name ra thôi.
Xem thử code này.
Lấy tên name.
PHP:
Sub Link_Paste_Names()
On Error GoTo thoat
Dim row1 As Integer, col1 As Integer
Dim i As Integer
row1 = ActiveCell.Row
col1 = ActiveCell.Column
For i = 1 To ActiveWorkbook.Names.Count
    Cells(row1 + i - 1, col1) = ActiveWorkbook.Names(i, 1, 1).NameLocal
    Cells(row1 + i - 1, col1 + 1) = Mid(ActiveWorkbook.Names(i, 1, 1).RefersTo, 2)
    Cells(row1 + i - 1, col1 + 1).Select
    Selection.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=ActiveWorkbook.Names(i, 1, 1).RefersTo
Next i
thoat:
End Sub
Còn tạo thì làm ngược lại.
Còn muốn đưa thẳng thì tạo 1 Arr lấy các thông số tên và refers to. Sau đó đặt lại.
 
Upvote 0
anh cho em hỏi thêm vấn đề này nữa nha. Trong 1 File mà mình đặt khoảng 90 name có nên không anh. hay mình viết code thay cho name nhỉ.
Em đang phân vân không biết có nên dùng name hay không, nếu dùng name thì khi thay đổi vùng tham chiếu nó cũng cập nhật theo còn viết Code thì bắt buộc phải vô sữa lại Code.
 
Lần chỉnh sửa cuối:
Upvote 0
anh cho em hỏi thêm vấn đề này nữa nha. Trong 1 File mà mình đặt khoảng 90 name có nên không anh. hay mình viết code thay cho name nhỉ.
Em đang phân vân không biết có nên dùng name hay không, nếu dùng name thì khi thay đổi vùng tham chiếu nó cũng cập nhật theo còn viết Code thì bắt buộc phải vô sữa lại Code.
Lâu quá không dùng name hay range. Mà làm gì đặt nhiều vậy. Đặt vài cái, dùng xong thì xoá và cần thì đặt lại. Đặt range hay hơn. Còn không đặt arr.
Mà muốn copy name sang wk khác thì cần gì làm phức tạp, save as tên wb khác và xóa data là vẫn còn name mà.
 
Lần chỉnh sửa cuối:
Upvote 0
Lâu quá không dùng name hay range. Mà làm gì đặt nhiều vậy. Đặt vài cái, dùng xong thì xoá và cần thì đặt lại. Đặt range hay hơn. Còn không đặt arr.
Mà muốn copy name sang wk khác thì cần gì làm phức tạp, save as tên wb khác và xóa data là vẫn còn name mà.

Dạ em tính úpdate máy cái sheet biểu mẫu từ Add in vô activeWoorkbook mà nó lại có dính máy cái name.(Em có làm 1 cái tiện ích để sử lý công việc cho mọi người dùng, nhưng nhiều lúc có người vô tình làm sai các biểu mẫu của em nên code chạy sai hết bởi vậy em tính làm thêm chức năng cập nhật biểu mẫu, sữa biễu mẫu)
 
Upvote 0
Web KT
Back
Top Bottom