Làm sao để Validation tự động nhảy số kế tiếp! (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

LienDong

Thành viên thường trực
Tham gia
22/11/12
Bài viết
218
Được thích
46
Nghề nghiệp
Ai nói đúng thì làm!
Mình chào tất cả các bạn!
Hiện nay công việc của mình là in ra thư mời của tất cả các lớp, nhưng không in toàn bộ danh sách thư mời của 1 lớp mà chỉ in những thư mời mình cần
Cụ thể như sau: tại trang thư mời, nếu chọn mã A01 tại F6 thì 1 bảng thông báo sẽ hiện ra
nếu chọn Yes thì in, nếu No thì xem qua, nếu Cancel thì hủy lệnh

Các bạn viết code bổ sung giúp mình như sau:
Giả sử mình chọn Yes thì tiến hành in, đồng thời ô F6 sẽ nhảy mã kế tiếp là A02 và đồng thời tiếp tục hiện bảng thông báo nói trên
Trường hợp chọn No thì không in, cho xem qua và tiếp tục nhảy mã kế tiếp là A02 và đồng thời tiếp tục hiện bảng thông báo nói trên
Trường hợp nhấn Cancel thì không in và tiếp tục nhảy mã kế tiếp là A02 và đồng thời tiếp tục hiện bảng thông báo nói trên
Và dĩ nhiên Khi chọn đến mã cuối cùng thì ô F6 không nhảy số nữa

Mục đích của mình là để cho nhanh (do in danh sách ở nhiều lớp)
Code trong file là do mình sưu tầm
Cảm ơn tất cả các bạn
 

File đính kèm

Mình chào tất cả các bạn!
Hiện nay công việc của mình là in ra thư mời của tất cả các lớp, nhưng không in toàn bộ danh sách thư mời của 1 lớp mà chỉ in những thư mời mình cần
Cụ thể như sau: tại trang thư mời, nếu chọn mã A01 tại F6 thì 1 bảng thông báo sẽ hiện ra
nếu chọn Yes thì in, nếu No thì xem qua, nếu Cancel thì hủy lệnh

Các bạn viết code bổ sung giúp mình như sau:
Giả sử mình chọn Yes thì tiến hành in, đồng thời ô F6 sẽ nhảy mã kế tiếp là A02 và đồng thời tiếp tục hiện bảng thông báo nói trên
Trường hợp chọn No thì không in, cho xem qua và tiếp tục nhảy mã kế tiếp là A02 và đồng thời tiếp tục hiện bảng thông báo nói trên
Trường hợp nhấn Cancel thì không in và tiếp tục nhảy mã kế tiếp là A02 và đồng thời tiếp tục hiện bảng thông báo nói trên
Và dĩ nhiên Khi chọn đến mã cuối cùng thì ô F6 không nhảy số nữa

Mục đích của mình là để cho nhanh (do in danh sách ở nhiều lớp)
Code trong file là do mình sưu tầm
Cảm ơn tất cả các bạn

Bấm Yes/No... nếu hang tram thư thì bấm hang tram cái, chắc xỉu. Thôi kệ làm theo yêu cầu của bạn:

Mã:
Sub InThuMoi()
  Dim Inra
  Dim rRng, rCell As Range
  Set rRng = Application.InputBox(Prompt:="Quet khoi cot Ma sheet 'DuLieu'", Type:=8)
  For Each rCell In rRng.Cells
    If Len(rCell) > 0 Then
      Sheet2.[F6] = rCell.Value
      Inra = MsgBox("Nhan Yes de in,  Nhan No de xem qua,  Nhan Cancel de huy lenh", vbYesNoCancel)
      If Inra = vbCancel Then Exit Sub
      If Inra = vbYes Then
          ActiveSheet.PrintOut
      Else: ActiveSheet.PrintPreview: End If
    End If
  Next
End Sub
 

File đính kèm

Upvote 0
Bấm Yes/No... nếu hang tram thư thì bấm hang tram cái, chắc xỉu. Thôi kệ làm theo yêu cầu của bạn:

Mã:
Sub InThuMoi()
  Dim Inra
  Dim rRng, rCell As Range
  Set rRng = Application.InputBox(Prompt:="Quet khoi cot Ma sheet 'DuLieu'", Type:=8)
  For Each rCell In rRng.Cells
    If Len(rCell) > 0 Then
      Sheet2.[F6] = rCell.Value
      Inra = MsgBox("Nhan Yes de in,  Nhan No de xem qua,  Nhan Cancel de huy lenh", vbYesNoCancel)
      If Inra = vbCancel Then Exit Sub
      If Inra = vbYes Then
          ActiveSheet.PrintOut
      Else: ActiveSheet.PrintPreview: End If
    End If
  Next
End Sub
Cảm ơn bạn
Code của bạn khi bấm Cancel thì nó thoát luôn
Mình muốn khi bấm Cancel thì nó tiếp tục nhảy qua mã kế tiếp & hiện bảng thông báo kế tiếp
Các bạn sửa mình code trên
Nếu có thể thì code sẽ được đặt trong Private Sub Worksheet_Change
 
Upvote 0
Cảm ơn bạn
Code của bạn khi bấm Cancel thì nó thoát luôn
Mình muốn khi bấm Cancel thì nó tiếp tục nhảy qua mã kế tiếp & hiện bảng thông báo kế tiếp
Các bạn sửa mình code trên
Nếu có thể thì code sẽ được đặt trong Private Sub Worksheet_Change
Thì bạn tùy biến mà làm thôi.

Mã:
Sub InThuMoi()

  Dim Inra
  Dim rRng, rCell As Range
  Set rRng = Application.InputBox(Prompt:="Quet khoi cot Ma sheet 'DuLieu'", Type:=8)
  For Each rCell In rRng.Cells


    If Len(rCell) > 0 Then
      Sheet2.[F6] = rCell.Value
      Inra = MsgBox("Nhan Yes de in,  Nhan No de xem qua,  Nhan Cancel de huy lenh", vbYesNoCancel)
      If Inra = vbCancel Then GoTo lab:
      If Inra = vbYes Then
          ActiveSheet.PrintOut
      Else: ActiveSheet.PrintPreview: End If
    End If
lab:
  Next


End Sub
 
Upvote 0
Thì bạn tùy biến mà làm thôi.

Mã:
Sub InThuMoi()

  Dim Inra
  Dim rRng, rCell As Range
  Set rRng = Application.InputBox(Prompt:="Quet khoi cot Ma sheet 'DuLieu'", Type:=8)
  For Each rCell In rRng.Cells


    If Len(rCell) > 0 Then
      Sheet2.[F6] = rCell.Value
      Inra = MsgBox("Nhan Yes de in,  Nhan No de xem qua,  Nhan Cancel de huy lenh", vbYesNoCancel)
      If Inra = vbCancel Then GoTo lab:
      If Inra = vbYes Then
          ActiveSheet.PrintOut
      Else: ActiveSheet.PrintPreview: End If
    End If
lab:
  Next


End Sub
Bạn cho hỏi thêm
Trong bảng Input thì ta phải quét khối cell. Bây giờ không muốn quét khối nữa mà đưa thẳng tên Name đã được đặt, hiện tên Name đã được đặt là MA =DuLieu!$A$4:$A$6 thì có được không?
Nếu được thì làm như thế nào?
Cảm ơn bạn
 
Upvote 0
Bạn cho hỏi thêm
Trong bảng Input thì ta phải quét khối cell. Bây giờ không muốn quét khối nữa mà đưa thẳng tên Name đã được đặt, hiện tên Name đã được đặt là MA =DuLieu!$A$4:$A$6 thì có được không?
Nếu được thì làm như thế nào?
Cảm ơn bạn

Chỉnh lại code chút xíu:

Mã:
Sub InThuMoi()

  Dim Inra
  Dim rRng, rCell As Range
  Set rRng = [COLOR=#ff0000]Range("ma") 'Application.InputBox(Prompt:="Quet khoi cot Ma sheet 'DuLieu'", Type:=8)[/COLOR]
  For Each rCell In rRng.Cells


    If Len(rCell) > 0 Then
      Sheet2.[F6] = rCell.Value
      Inra = MsgBox("Nhan Yes de in,  Nhan No de xem qua,  Nhan Cancel de huy lenh", vbYesNoCancel)
      If Inra = vbCancel Then GoTo lab:
      If Inra = vbYes Then
          ActiveSheet.PrintOut
      Else: ActiveSheet.PrintPreview: End If
    End If
lab:
  Next


End Sub
 
Upvote 0
Cảm ơn các bạn nhiều
 
Upvote 0
Các Bạn cho hỏi thêm
Trường hợp đang in giữa chừng, mình muốn ngưng thì làm sao thoát hẳn thông báo
Vì thông báo nó hiện xuyên suốt từ Mã đầu tiên đến mã cuối cùng. Minh bấm dấu X (góc fải của thông báo) thì nó vẫn không thoát
Có cách nào không các bạn
 
Upvote 0
Các Bạn cho hỏi thêm
Trường hợp đang in giữa chừng, mình muốn ngưng thì làm sao thoát hẳn thông báo
Vì thông báo nó hiện xuyên suốt từ Mã đầu tiên đến mã cuối cùng. Minh bấm dấu X (góc fải của thông báo) thì nó vẫn không thoát
Có cách nào không các bạn
Ở bài #2 đã cảnh báo rồi...
Bấm Yes/No... nếu hang tram thư thì bấm hang tram cái, chắc xỉu. Thôi kệ làm theo yêu cầu của bạn:
 
Upvote 0
Các Bạn cho hỏi thêm
Trường hợp đang in giữa chừng, mình muốn ngưng thì làm sao thoát hẳn thông báo
Vì thông báo nó hiện xuyên suốt từ Mã đầu tiên đến mã cuối cùng. Minh bấm dấu X (góc fải của thông báo) thì nó vẫn không thoát
Có cách nào không các bạn
Đơn giản thôi mượn code của anh HLMT nhé
Mã:
Inra = MsgBox("Nhan Yes de in,  [COLOR=#ff0000]Nhan No de thoat[/COLOR],  Nhan Cancel de qua ma moi", vbYesNoCancel)
            [COLOR=#ff0000]If Inra = vbNo Then Exit Sub[/COLOR]    ' them
 
Upvote 0
Đơn giản thôi mượn code của anh HLMT nhé
Mã:
Inra = MsgBox("Nhan Yes de in,  [COLOR=#ff0000]Nhan No de thoat[/COLOR],  Nhan Cancel de qua ma moi", vbYesNoCancel)
            [COLOR=#ff0000]If Inra = vbNo Then Exit Sub[/COLOR]    ' them

Nhấn No là In ra không xem lại, trường hợp này ta phải thêm 1 tùy chọn nữa. Sẵn làm thì tôi làm luôn cho 1 tùy chọn nữa là In Ra Hết không có hỏi lại.

31.jpg
 

File đính kèm

Upvote 0
Dạ em cảm ơn các anh/chị
 
Upvote 0
Nhấn No là In ra không xem lại, trường hợp này ta phải thêm 1 tùy chọn nữa. Sẵn làm thì tôi làm luôn cho 1 tùy chọn nữa là In Ra Hết không có hỏi lại.

View attachment 173299

Cho tôi hỏi 2 vấn đề với Bảng In này là:
1. Lúc ta bấm nút chọn in. Lúc nào bảng In cũng bắt đầu bằng mã A01.
2. Ta có thể chọn IN từ Một Mã bất kỳ đến Một Mã bất kỳ được không (Ví dụ: chọn A02 đến A03)
Cảm ơn tác giả !
 
Upvote 0
Cho tôi hỏi 2 vấn đề với Bảng In này là:
1. Lúc ta bấm nút chọn in. Lúc nào bảng In cũng bắt đầu bằng mã A01.
2. Ta có thể chọn IN từ Một Mã bất kỳ đến Một Mã bất kỳ được không (Ví dụ: chọn A02 đến A03)
Cảm ơn tác giả !
Bạn xem lại bài #2 về chọn mã = InputBox nhé.
để chọn mã = InputBox nhé
 
Upvote 0
Web KT

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

Back
Top Bottom