Đặt tên sheet để thay thế tên sheet trong ThisWorkbook.Worksheets("AAA")

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,014
Được thích
163
Anh chị giúp em trường hợp sau
Em có 1 câu lệnh
Mã:
ThisWorkbook.Worksheets("AAA").Range("A1:Z1000").copy
Bây giờ em không muốn nhập "AAA" ở câu lệnh trên
Mà ở sheet1 ô A1 em đã nhập AAA
Bây giờ em muốn câu lệnh trên lấy tên AAA ở sheet1 ô A1 thì câu lệnh trên cần thay đổi như thế nào?
em thử thay nó là
Mã:
ThisWorkbook.Worksheets(Sheets("sheet1").Range("A1")).Range("A1:Z1000").copy
nhưng chưa được
Em cảm ơn!
 
Anh chị giúp em trường hợp sau
Em có 1 câu lệnh
Mã:
ThisWorkbook.Worksheets("AAA").Range("A1:Z1000").copy
Bây giờ em không muốn nhập "AAA" ở câu lệnh trên
Mà ở sheet1 ô A1 em đã nhập AAA
Bây giờ em muốn câu lệnh trên lấy tên AAA ở sheet1 ô A1 thì câu lệnh trên cần thay đổi như thế nào?
em thử thay nó là
Mã:
ThisWorkbook.Worksheets(Sheets("sheet1").Range("A1")).Range("A1:Z1000").copy
nhưng chưa được
Em cảm ơn!
Vẫn chưa hiểu bạn muốn cái gì. Khi copy ở A1 rồi. Gán nó đi đâu? Gán vào tên sheet1 à?
 
Upvote 0
Anh chị giúp em trường hợp sau
Em có 1 câu lệnh
Mã:
ThisWorkbook.Worksheets("AAA").Range("A1:Z1000").copy
Bây giờ em không muốn nhập "AAA" ở câu lệnh trên
Mà ở sheet1 ô A1 em đã nhập AAA
Bây giờ em muốn câu lệnh trên lấy tên AAA ở sheet1 ô A1 thì câu lệnh trên cần thay đổi như thế nào?
em thử thay nó là
Mã:
ThisWorkbook.Worksheets(Sheets("sheet1").Range("A1")).Range("A1:Z1000").copy
nhưng chưa được
Em cảm ơn!
Test code thấy bình thường, có bị gì đâu bạn?
 
Upvote 0
Anh chị giúp em trường hợp sau
Em có 1 câu lệnh
Mã:
ThisWorkbook.Worksheets("AAA").Range("A1:Z1000").copy
Bây giờ em không muốn nhập "AAA" ở câu lệnh trên
Mà ở sheet1 ô A1 em đã nhập AAA
Bây giờ em muốn câu lệnh trên lấy tên AAA ở sheet1 ô A1 thì câu lệnh trên cần thay đổi như thế nào?
em thử thay nó là
Mã:
ThisWorkbook.Worksheets(Sheets("sheet1").Range("A1")).Range("A1:Z1000").copy
nhưng chưa được
Em cảm ơn!
Khai báo biến rồi đưa nó vào như sau thử xem:

Mã:
Sub test()
    Dim tenSheet As String
    tenSheet = Sheet1.Range("A1")
    Sheets(tenSheet).Range("A1:C13").Copy
End Sub
 
Upvote 0
Vẫn chưa hiểu bạn muốn cái gì. Khi copy ở A1 rồi. Gán nó đi đâu? Gán vào tên sheet1 à?

Ý mình như thế này. Mình muốn copy sheet AAA, thay vì nhập AAA vào đoạn code
ThisWorkbook.Worksheets("AAA").Range("A1:Z1000").copy
Thì mình nhập ở sheet1 ô A1 là AAA
Và muốn đoạn code trên lấy tên sheet AAA mà mình đã nhập ở sheet1 ô A1
Không biết có đoạn code nào để thay thế không?
 
Upvote 0
Hình như bạn ấy muốn đổi tên sheet bằng cách gán giá trị trên cells sao á thầy ạ( em đoán mò).
Bạn ấy có 2 sheets: sheet thứ nhất tên là "Sheet1", sheet thứ hai tên là "AAA"
Tại "Sheet1", cells A1 bạn ấy gõ "AAA"
Giờ bạn ấy muốn truy xuất sheets("AAA") từ cái tên đã gõ tại cells A1 của Sheet1
Chỉ vậy thôi
 
Upvote 0
Ý mình như thế này. Mình muốn copy sheet AAA, thay vì nhập AAA vào đoạn code
ThisWorkbook.Worksheets("AAA").Range("A1:Z1000").copy
Thì mình nhập ở sheet1 ô A1 là AAA
Và muốn đoạn code trên lấy tên sheet AAA mà mình đã nhập ở sheet1 ô A1
Không biết có đoạn code nào để thay thế không?
Bạn thử:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    With ThisWorkbook
        If Target.Address = "$A$1" And Target.Value <> "" Then
            If ActiveSheet.Name = Target.Value Then
                MsgBox "Trùng tên Sheet"
                Exit Sub
            End If
            ActiveSheet.Name = Target.Value
            Sheets(Target.Value).Range("A1:Z1000").Copy
        End If
    End With
End Sub
 

File đính kèm

  • Book1.xls
    30 KB · Đọc: 7
Upvote 0
Web KT
Back
Top Bottom