Xác thực dữ liệu và vòng lặp Excel 2010

Xác thực dữ liệu và vòng lặp Excel 2010

Xin chào. Tôi mới sử dụng VBA. Tôi có một Macro để nhập dữ liệu.

1. Tôi cần lặp lại, tại bất kỳ thời điểm nào hủy được chọn trên bất kỳ hộp nhập hoặc tin nhắn nào, nó sẽ bắt đầu từ đầu. Nếu nó kết thúc, nó sẽ bắt đầu lại từ đầu. Ngay bây giờ, tôi có câu lệnh Goto ở cuối. Tôi cũng có cần một goto ở mỗi nơi mà bây giờ tôi có một lối ra phụ không? Tôi biết đây không phải là một thực hành tốt nhất. Bạn muốn đề nghị gì?

2. Ngoài ra, ở giữa, tôi đang cố gắng làm một cái gì đó nếu giá trị được nhập vào (trọng lượng hạt giống) không phải là một số, thì nó sẽ xóa ô đó, đưa ra một hộp thông báo cho biết Vui lòng nhập một số, sau đó yêu cầu hạt giống cân lại. Tôi đã có vấn đề với điều này, vì vậy tôi nhận xét nó ra.

Xin vui lòng xem mã của tôi dưới đây.

Tất cả các đề xuất được đánh giá cao. Cảm ơn!

Sub Find_FirstthenSeedWeight()
' điều khiển phím tắt + r
Bắt đầu:
Dim FindString dưới dạng chuỗi
Dim Rng As Range
Mờ Hộp Để Lại
Dim Seedweightbx
' Trang tính ("Trang tính 1"). Chọn
FindString = InputBox("Nhập Inv. RecID")
Nếu Trim(FindString) <> "" Thì
Với Sheets("Sheet1").Range("A:A")
Đặt Rng = .Find(What:=FindString, _
Sau:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
Thứ tự tìm kiếm:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=Sai)
Nếu Không Rng Là Không Có Gì Thì
Application.Goto Rng, True
Khác
MsgBox "Inv. RecID không tìm thấy"
Thoát phụ
kết thúc nếu
Kết thúc với
kết thúc nếu
ActiveCell.Offset(0, 5).Select
'ActiveCell = Seedweightbx

SeedWeightEntry:

Nếu ActiveCell <> "" thì
MsgBox("Trọng lượng hạt đã nhập")
Thoát phụ
'Nếu trọng lượng hạt giống đã được nhập thì macro sẽ bị dừng và thông báo về hàng tồn kho không được hiển thị.
Khác
Với ActiveCell
.Value = InputBox("Nhập trọng lượng hạt giống")


' Nếu không phải là số (. Giá trị) thì
' MsgBox "Trọng lượng hạt giống phải là một số."
' Seedweightbx.Value.ClearContents

' Chuyển đến SeedWeightEntry
' kết thúc nếu

Nếu .Value = Sai thì
LeaveBox = MsgBox("Vui lòng nhập trọng lượng hạt. Nhấn Hủy để thoát", vbOKCancel)

Nếu LeaveBox = vbCancel thì
Thoát phụ
'Nếu nhấn Hủy trên hộp thông báo, macro sẽ bị dừng
Khác

GoTo SeedWeightEntry
'Nếu không nhập trọng lượng hạt giống, một hộp thông báo sẽ xuất hiện yêu cầu trọng lượng hạt giống, sau đó đưa bạn trở lại hộp nhập _ để nhập trọng lượng hạt giống.
kết thúc nếu

kết thúc nếu

Kết thúc với
kết thúc nếu
Gọi Msg_from_Cell

Bắt đầu
kết thúc phụ

Msg_from_Cell phụ ()

khoảng không quảng cáo mờ
ActiveCell.Offset(0, 4).Select

khoảng không quảng cáo = ActiveCell.Value
MsgBox (hàng tồn kho)


kết thúc phụ




Trả lời:

Re: mã bằng cách sử dụng hộp Nhập liệu

Nếu người dùng hủy, thoát khỏi mã; không có ngoại lệ.
'---
Jim hình nón
Portland, Oregon Hoa Kỳ
chương trình excel thương mại và miễn phí (n/a xl2013)
http://jmp.sh/K95N3ee

'---
Phụ Find_FirstthenSeedWeight_R1()
' điều khiển phím tắt + r
Dim FindString dưới dạng biến thể
Dim Rng As Range
Dim strID dưới dạng chuỗi

Bắt đầu:
FindString = InputBox("Nhập Inv. RecID")
Nếu Len(Trim(FindString)) < 1 Thì
Thoát phụ
Khác
Với Sheets("Sheet1").Range("A:A")
Đặt Rng = .Find(What:=FindString, _
Sau:=.Cells(.Cells.Count), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
Nếu Rng Không Có Gì Thì
MsgBox "Inv. RecID không tìm thấy"
Bắt đầu
kết thúc nếu
Kết thúc với
kết thúc nếu

strID = Chuỗi tìm kiếm
Đặt Rng = Rng.Offset(0, 5)
Nếu không phải là Empty(Rng.Value) thì
MsgBox("Trọng lượng hạt đã nhập")
Thoát phụ
Khác
SeedWeightEntry:
FindString = InputBox("Nhập Trọng lượng hạt cho " & strID)
Nếu Len(Trim(FindString)) < 1 Thì
Thoát phụ
ElseIf Val(FindString) = 0 Thì
MsgBox "Trọng lượng hạt phải là một số.", "Trọng lượng hạt cần thiết"
GoTo SeedWeightEntry
Khác
Rng.Value = FindString
MsgBox "Trọng lượng hạt đã nhập."
kết thúc nếu
kết thúc nếu
kết thúc phụ

Comments

Popular posts from this blog

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Khẩn cấp - File Excel chứa các ký tự đặc biệt ở họ và tên liên hệ