Cách add range vào namerange

Liên hệ QC

huonglien1901

GPE là ngôi nhà thứ 2 của tôi!!!
Tham gia
17/4/16
Bài viết
2,701
Được thích
2,434
Giới tính
Nam
Nghề nghiệp
Nhân viên kỹ thuật in ấn
chào mọi người!

Em có vấn đề nhờ mọi người hỗ trợ.

Em có đoạn code sau:
PHP:
Sub name()
Application.DisplayAlerts = False
' Keyboard Shortcut: Ctrl+Shift+K
    ActiveWorkbook.Names.Add name:="MAH", RefersToR1C1:="=Sheet1!R2C2:R21C2"
    ActiveWorkbook.Names("MAH").Comment = ""
    ActiveWorkbook.Names.Add name:="SL", RefersToR1C1:="=Sheet1!R2C4:R21C4"
    ActiveWorkbook.Names("SL").Comment = ""
    ActiveWorkbook.Names.Add name:="DG", RefersToR1C1:="=Sheet1!R2C5:R21C5"
    ActiveWorkbook.Names("DG").Comment = ""
    Application.DisplayAlerts = True
End Sub
nhưng code chỉ add được vào 01 file, em muốn nó add vào 3 file, trong 3 file này chứa các namerange đó, thì em phải sửa code này lại như thế nào?
Nơi lưu file D:\DONGIA .

Em cảm ơn mọi người nhiều!
 

File đính kèm

chào mọi người!

Em có vấn đề nhờ mọi người hỗ trợ.

Em có đoạn code sau:
PHP:
Sub name()
Application.DisplayAlerts = False
' Keyboard Shortcut: Ctrl+Shift+K
    ActiveWorkbook.Names.Add name:="MAH", RefersToR1C1:="=Sheet1!R2C2:R21C2"
    ActiveWorkbook.Names("MAH").Comment = ""
    ActiveWorkbook.Names.Add name:="SL", RefersToR1C1:="=Sheet1!R2C4:R21C4"
    ActiveWorkbook.Names("SL").Comment = ""
    ActiveWorkbook.Names.Add name:="DG", RefersToR1C1:="=Sheet1!R2C5:R21C5"
    ActiveWorkbook.Names("DG").Comment = ""
    Application.DisplayAlerts = True
End Sub
nhưng code chỉ add được vào 01 file, em muốn nó add vào 3 file, trong 3 file này chứa các namerange đó, thì em phải sửa code này lại như thế nào?
Nơi lưu file D:\DONGIA .

Em cảm ơn mọi người nhiều!
Gửi bạn.
PHP:
Sub name(Wb As Workbook)
    Application.DisplayAlerts = False
    ' Keyboard Shortcut: Ctrl+Shift+K
    Wb.Names.Add name:="MAH", RefersToR1C1:="=Sheet1!R2C2:R21C2"
    Wb.Names("MAH").Comment = ""
    Wb.Names.Add name:="SL", RefersToR1C1:="=Sheet1!R2C4:R21C4"
    Wb.Names("SL").Comment = ""
    Wb.Names.Add name:="DG", RefersToR1C1:="=Sheet1!R2C5:R21C5"
    Wb.Names("DG").Comment = ""
    Application.DisplayAlerts = True
End Sub

Sub Main()
    Dim Item, Wb As Workbook
    
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Filters.Add "Microsoft Excel Files", "*.xls*", 1
        If Not .Show = -1 Then
            MsgBox "No files selected", vbCritical, "GPE"
            Exit Sub
        End If
        For Each Item In .SelectedItems
            Set Wb = Workbooks.Open(Item)
            Call name(Wb)
            Wb.Close True
        Next Item
    End With
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
Gửi bạn.
PHP:
Sub name(Wb As Workbook)
    Application.DisplayAlerts = False
    ' Keyboard Shortcut: Ctrl+Shift+K
    Wb.Names.Add name:="MAH", RefersToR1C1:="=Sheet1!R2C2:R21C2"
    Wb.Names("MAH").Comment = ""
    Wb.Names.Add name:="SL", RefersToR1C1:="=Sheet1!R2C4:R21C4"
    Wb.Names("SL").Comment = ""
    Wb.Names.Add name:="DG", RefersToR1C1:="=Sheet1!R2C5:R21C5"
    Wb.Names("DG").Comment = ""
    Application.DisplayAlerts = True
End Sub

Sub Main()
    Dim Item, Wb As Workbook
  
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Filters.Add "Microsoft Excel Files", "*.xls*", 1
        If Not .Show = -1 Then
            MsgBox "No files selected", vbCritical, "GPE"
            Exit Sub
        End If
        For Each Item In .SelectedItems
            Set Wb = Workbooks.Open(Item)
            Call name(Wb)
            Wb.Close True
        Next Item
    End With
    Application.ScreenUpdating = True
End Sub
Code này chạy sao vậy Anh?

Em cảm ơn Anh nhiều!
 
Upvote 0
chào mọi người!

Em có vấn đề nhờ mọi người hỗ trợ.

Em có đoạn code sau:
PHP:
Sub name()
Application.DisplayAlerts = False
' Keyboard Shortcut: Ctrl+Shift+K
    ActiveWorkbook.Names.Add name:="MAH", RefersToR1C1:="=Sheet1!R2C2:R21C2"
    ActiveWorkbook.Names("MAH").Comment = ""
    ActiveWorkbook.Names.Add name:="SL", RefersToR1C1:="=Sheet1!R2C4:R21C4"
    ActiveWorkbook.Names("SL").Comment = ""
    ActiveWorkbook.Names.Add name:="DG", RefersToR1C1:="=Sheet1!R2C5:R21C5"
    ActiveWorkbook.Names("DG").Comment = ""
    Application.DisplayAlerts = True
End Sub
nhưng code chỉ add được vào 01 file, em muốn nó add vào 3 file, trong 3 file này chứa các namerange đó, thì em phải sửa code này lại như thế nào?
Nơi lưu file D:\DONGIA .

Em cảm ơn mọi người nhiều!
Cái yêu cầu này thấy lạ vô cùng, trước giờ chưa từng thấy luôn
Không phải là không làm được nhưng mà cái nào nó "kỳ cục" quá mình cho qua luôn đi
 
Upvote 0
Cái yêu cầu này thấy lạ vô cùng, trước giờ chưa từng thấy luôn
Không phải là không làm được nhưng mà cái nào nó "kỳ cục" quá mình cho qua luôn đi
Dạ, cái này khi em file bị virus khi xoá sạch thì gây ra các name bị lỗi, mà nhiều file bị như vậy em làm thủ công lâu quá. Nên em muốn sử dụng code để làm trường hợp này đó Thầy.
 
Upvote 0
Dạ, cái này khi em file bị virus khi xoá sạch thì gây ra các name bị lỗi, mà nhiều file bị như vậy em làm thủ công lâu quá. Nên em muốn sử dụng code để làm trường hợp này đó Thầy.
Nhiều file? Rồi không lý nào tất cả chúng đều có name giống nhau?
 
Upvote 0

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom