Lấy giá trị ComboBox làm tên Sheets để tham chiếu

Liên hệ QC

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Mã:
Private Sub OkInBB_CDKL_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim shNameKL, shNameCD As String
    Dim Rng As Range, DK As Long

    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value
        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo Tiep
            Sheets("BBan").Range("AZ1").Value = i
            Sheets(ComboBox1).Select
            Sheets(ComboBox1).Range("AZ1").Value = i
            Sheets(shNameCD).Select
            Sheets(shNameCD).Range("AZ1").Value = i
        Next i
    Unload Me
End Sub
Chào anh chị! em có muốn hỏi ComboBox1, ComboBox2 chọn tên ở form.
Muốn duyệt ComboBox1 thành tên sheets phải sửa như nào.
Sheets(ComboBox1).Select
Sheets(ComboBox1).Range("AZ1").Value = i

. Em xin cảm ơn

Untitled.png
 
Mã:
Private Sub OkInBB_CDKL_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim shNameKL, shNameCD As String
    Dim Rng As Range, DK As Long

    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value
        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo Tiep
            Sheets("BBan").Range("AZ1").Value = i
            Sheets(ComboBox1).Select
            Sheets(ComboBox1).Range("AZ1").Value = i
            Sheets(shNameCD).Select
            Sheets(shNameCD).Range("AZ1").Value = i
        Next i
    Unload Me
End Sub
Chào anh chị! em có muốn hỏi ComboBox1, ComboBox2 chọn tên ở form.
Muốn duyệt ComboBox1 thành tên sheets phải sửa như nào.
Sheets(ComboBox1).Select
Sheets(ComboBox1).Range("AZ1").Value = i

. Em xin cảm ơn

View attachment 200209
combobox1.text
 
Upvote 0
Mã:
Private Sub OkInBB_CDKL_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim shNameKL, shNameCD As String
    Dim Rng As Range, DK As Long

    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value
        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo Tiep
            Sheets("BBan").Range("AZ1").Value = i
            Sheets(ComboBox1).Select
            Sheets(ComboBox1).Range("AZ1").Value = i
            Sheets(shNameCD).Select
            Sheets(shNameCD).Range("AZ1").Value = i
        Next i
    Unload Me
End Sub
Chào anh chị! em có muốn hỏi ComboBox1, ComboBox2 chọn tên ở form.
Muốn duyệt ComboBox1 thành tên sheets phải sửa như nào.
Sheets(ComboBox1).Select
Sheets(ComboBox1).Range("AZ1").Value = i

. Em xin cảm ơn

View attachment 200209
Cụ thể là bạn muốn hỏi về vấn đề gì? Bạn muốn dùng giá trị của ComboBox để làm tên sheet và tham chiếu đến sheet đó?
Nếu đúng là vậy sao bạn không ghi tiêu đề cho rõ nghĩa? Chung chung kiểu này chẳng hiểu đang hỏi cái gì cả
 
Upvote 0
Cụ thể là bạn muốn hỏi về vấn đề gì? Bạn muốn dùng giá trị của ComboBox để làm tên sheet và tham chiếu đến sheet đó?
Nếu đúng là vậy sao bạn không ghi tiêu đề cho rõ nghĩa? Chung chung kiểu này chẳng hiểu đang hỏi cái gì cả
Dạ vâng đúng rồi anh ạ! em muốn khi chọn tên sẽ ứng với tên sheets để tham chiếu sang ạ
 
Upvote 0
Dạ vâng đúng rồi anh ạ! em muốn khi chọn tên sẽ ứng với tên sheets để tham chiếu sang ạ
Vậy bạn tự sửa tiêu đề lại đi (cho quen!)
Gợi ý: "Lấy giá trị ComboBox làm tên sheet để tham chiếu"
(Cứ lâu lâu lại "Hỏi về ComboBox", "Hỏi về CheckBox", "Hỏi về VBA", "Hỏi về Excel" và "Hỏi về... mọi thứ" thì thua luôn)
 
Upvote 0
Vậy bạn tự sửa tiêu đề lại đi (cho quen!)
Gợi ý: "Lấy giá trị ComboBox làm tên sheet để tham chiếu"
(Cứ lâu lâu lại "Hỏi về ComboBox", "Hỏi về CheckBox", "Hỏi về VBA", "Hỏi về Excel" và "Hỏi về... mọi thứ" thì thua luôn)
Đoạn code trên phải sửa như nào anh giúp em.
Sheets(ComboBox1).Select
Sheets(ComboBox1).Range("AZ1").Value = i
 
Upvote 0
Upvote 0
Bài 4 người ta đã hướng dẫn rõ ràng

Sao bạn lại không làm được?
Cái này là do làm biếng gõ để người khác gõ xong up lên cứ việc tải về và dùng thôi anh. Tôi thấy thành viên này viết code và thiết kế giao diện ghê lắm vậy mà ...
 
Upvote 0
dùng thuộc tính text sẽ có lúc gẫy lỗi. đã từng vướng phải trường hợp dữ liệu nạp vào combo
box nhưng khi đọc lại thì bị thay đổi. đời muôn nẻo lắc léo
 
Upvote 0
dùng thuộc tính text sẽ có lúc gẫy lỗi. đã từng vướng phải trường hợp dữ liệu nạp vào combo
box nhưng khi đọc lại thì bị thay đổi. đời muôn nẻo lắc léo
Bạn cụ thể trường hợp của bạn được không, để mình còn tránh và nếu ko dùng .text thì dùng thuộc tính gì bạn?
 
Upvote 0
Cái này là do làm biếng gõ để người khác gõ xong up lên cứ việc tải về và dùng thôi anh. Tôi thấy thành viên này viết code và thiết kế giao diện ghê lắm vậy mà ...
Không phải em lười đâu, mà là phần ComboBox mới tìm hiểu nên chưa biết nhờ các a giúp. Em đánh vào như này bị báo lỗi. em nhìn như sai thì phải
Sheets(ComboBox1.text ).Select
Sheets(ComboBox1.text ).Range("AZ1").Value = i
Mã:
Sub UserForm_Initialize()
  ComboBox1.List = Array("1.KL V", "1.KL S", "KLL-K95")
  ComboBox2.List = Array("2.Cao Do", "2.CDK95", "CDL-K95", "CDTN")
End Sub

'CODE IN BIEN BAN + KHÔI' LUONG + CAO DÔ
Private Sub OkInBB_CDKL_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim shNameKL, shNameCD As String
    'Dim ComboBox1, ComboBox2 As Worksheet
    Dim Rng As Range, DK As Long

    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value

        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo Tiep
            Sheets("BBan").Range("AZ1").Value = i
            
            ComboBox1.Text.Select
            Sheets(ComboBox1.Text).Range("AZ1").Text = i
            
            Sheets(shNameCD).Select
            Sheets(shNameCD).Range("AZ1").Value = i
        Next i
    Unload Me
End Sub
 
Upvote 0
Không phải em lười đâu, mà là phần ComboBox mới tìm hiểu nên chưa biết nhờ các a giúp. Em đánh vào như này bị báo lỗi. em nhìn như sai thì phải
Sheets(ComboBox1.text ).Select
Sheets(ComboBox1.text ).Range("AZ1").Value = i
Mã:
Sub UserForm_Initialize()
  ComboBox1.List = Array("1.KL V", "1.KL S", "KLL-K95")
  ComboBox2.List = Array("2.Cao Do", "2.CDK95", "CDL-K95", "CDTN")
End Sub

'CODE IN BIEN BAN + KHÔI' LUONG + CAO DÔ
Private Sub OkInBB_CDKL_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim shNameKL, shNameCD As String
    'Dim ComboBox1, ComboBox2 As Worksheet
    Dim Rng As Range, DK As Long

    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value

        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo Tiep
            Sheets("BBan").Range("AZ1").Value = i
           
            ComboBox1.Text.Select
            Sheets(ComboBox1.Text).Range("AZ1").Text = i
           
            Sheets(shNameCD).Select
            Sheets(shNameCD).Range("AZ1").Value = i
        Next i
    Unload Me
End Sub
lỗi như thế nào bạn?
thấy code có vấn đề dòng lày:
ComboBox1.Text.Select
xóa ngay dòng này đi
 
Upvote 0

File đính kèm

Upvote 0
Mở form chọn In từ 100~110, bên dưới combobox1, combobox2 chọn tên sheets sẽ select qua từng sheets: "1.KL V" >> "2.Cao Do"
View attachment 200236
Thế thì các sheet in phải đánh số ở đầu mới có thể chạy theo như thế được. Nếu dữ liệu sheet của bạn có đánh số thì mình sẽ xem, chứ tên sheet lẫn lộn thì e rằng khó.
 
Upvote 0
Thế thì các sheet in phải đánh số ở đầu mới có thể chạy theo như thế được. Nếu dữ liệu sheet của bạn có đánh số thì mình sẽ xem, chứ tên sheet lẫn lộn thì e rằng khó.
mình chỉ cần khi chọn Combobox1 tên sheet (1.KL V) select chạy qua là được
 
Upvote 0
Mình muốn code chạy qua từng sheet rồi mới chạy code.
File bên dưới bạn xem thử giúp mình
đọ code của bạn có mấy chổ mình không hiểu babj chỉ với:
1.: If DK > 0 Then GoTo Tiep : Tiep này đến đâu vậy
2. Sheets(shNameCD).Select : sheet này mình lấy ở đâu
 
Upvote 0
Web KT

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

Back
Top Bottom