Xin chào,
Tôi đang gặp lỗi, tôi không chắc chắn cách khắc phục. Tôi có một nút mà tôi nhấn trên bảng đang hoạt động để chạy mã mà bạn thấy bên dưới. Giả sử mọi thứ được điền chính xác, thì điều cuối cùng sẽ xảy ra là tab được chỉ định không bị ẩn và sau đó tab đó sẽ chuyển sang tab tiếp theo. Khi tôi nhấn nút, tôi gặp lỗi này.
Lỗi thời gian chạy '1004'.
Không chọn được phương thức của lớp Worksheet.
Sau đó, nó làm nổi bật phần mã tôi đã bôi đậm và bôi đỏ bên dưới.
Trang tính không được bảo vệ và sổ làm việc cũng vậy. Macro phụ Next_Tab_1 này cũng nằm trong một mô-đun
Bạn có ý kiến gì không?
Mã.
Sub Next_Tab_1[]
ActiveSheet.Unprotect
If Range["B5"].Value "Yes" Then
MsgBox "Can only hit 'Next' if 2nd HMDA Determination Question is answered 'Yes' and light blue fields are populated"
Else
If Range["B11"].Value = "" Then
MsgBox "Missing Application Number"
Else
If Range["B13"].Value = "" Then
MsgBox "Missing ULI Number"
Else
If Range["B18"].Value = "" Then
MsgBox "Missing Relationship Manager"
Else
If Range["B19"].Value = "[Select One]" Or Range["B19"].Value = "" Then
MsgBox "Missing Yes/No Designation on 5a"
Else
If Range["B19"].Value = "Yes" And Range["B20"].Value = "" Then
MsgBox "Missing NMLSR Identifier"
Else
If Range["B21"].Value = "" Then
MsgBox "Missing Individual Completing Form"
Else
If Range["B22"].Value = "" Then
MsgBox "Missing Email Address"
Else
If Range["B23"].Value = "" Then
MsgBox "Missing Phone Number"
Else
Sheets["2. Application Status"].Visible = True
[COLOR=#ff0000][SIZE=3][B]W[B]o[/B]rksheets[ActiveSheet.Index + 1].Select[/B][/SIZE][/COLOR]
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Chào buổi sáng mọi người. Gần đây tôi đã gặp sự cố sau.
Tôi đã tìm kiếm trên diễn đàn cùng với nhiều trang web khác và dường như không thể tìm ra giải pháp cho vấn đề của mình. Tôi hiện đang sử dụng Excel 2016 [Microsoft Office Professional Plus].
Tôi có một trang tính có tên 29A-1 và tôi đang cố tạo nhiều bản sao của cùng một trang tính. Tôi đã thử nhấp chuột phải vào tab trang tính, chọn Di chuyển hoặc Sao chép, sau đó chọn hộp Tạo bản sao. Tôi cũng đã thử giữ Ctrl sau đó nhấp vào tab và kéo nó đến cuối. Trang tính và sổ làm việc không được bảo vệ.
Tôi cũng đã thử Mã VBA sau.
Sub CopyActiveSheet[]
ActiveSheet. Sao chép sau. =Trang tính[Trang tính. Count]
End Sub
Mã VBA sẽ hoạt động một lần và sau đó ở lần thử thứ hai, nó sẽ báo lỗi Thời gian chạy '1004'. Phương thức sao chép của lớp Worksheet không thành công. Nếu tôi đặt lại mã, nó sẽ hoạt động trở lại một lần sau đó lại báo lỗi lần thứ hai.
Về cơ bản, những gì tôi có là các tab trông như thế này.
29A-1 29A-1 [2] Trang tính 3 29A-1 [3] Trang tính5
Trang tính 3 và Trang tính 5 hoàn toàn trống. Tôi nhận được kết quả tương tự khi sử dụng tùy chọn Di chuyển hoặc Sao chép và nhấp vào Ctrl rồi kéo tab. Bất kỳ ai có bất kỳ ý tưởng nào về vấn đề có thể là gì hoặc cách tôi có thể khắc phục sự cố.
Cảm ơn bạn và tôi đánh giá cao bất kỳ sự trợ giúp nào.
rlv01 anh ấy nói
FWIW, tôi đã đặt tên cho trang tính là 29-1 và chạy mã bạn đã đăng.
Mã VBA.
Sub CopyActiveSheet[] ActiveSheet.Copy After:=Sheets[Sheets.Count] End Sub
It created as many copied sheets as I wanted. I stopped after 12
29A-1, 29A-1 [2], 29A-1 [3], 29A-1 [4], 29A-1 [5], 29A-1 [6], 29A-1 [7], 29A-1 [8], 29A-1 [9], 29A-1 [10], 29A-1 [11], 29A-1 [12].Bấm để mở rộng
rlv01,
Cảm ơn bạn đã phản hồi. Tôi cũng đã thử mở một tệp mới để kiểm tra xem có vấn đề gì với tệp tôi đang làm việc không. Thật không may, tôi vẫn gặp sự cố tương tự khi cố gắng mở một tài liệu mới. Mỗi lần tôi chạy mã, tôi gặp lỗi tương tự và nó chỉ tạo ra một trang tính trống. Tôi cũng đã thử sử dụng tùy chọn di chuyển hoặc sao chép nhưng vẫn không gặp may.
Tôi cũng đã thử mở Excel ở Chế độ an toàn như một trang web khác đề xuất nhưng tôi vẫn gặp sự cố tương tự. Không chắc vấn đề là gì nhưng nó đã hoàn toàn ngăn dự án của tôi tiến lên phía trước.
Marc,Marc L nói
Xin chào,
thử xem nó có hoạt động trên một sổ làm việc hoàn toàn mới không …
Bấm để mở rộng
Tôi đã mở một sổ làm việc hoàn toàn mới. Sau khi mở một sổ làm việc hoàn toàn mới, tôi đã sử dụng tùy chọn Di chuyển hoặc Sao chép và nó hoạt động không có vấn đề gì. Tôi cũng đã sử dụng tùy chọn Ctrl và kéo sao chép và nó hoạt động không có vấn đề gì. Tôi đã mở VBA và chèn một mô-đun mới. Tôi đã chèn mã từ bài đăng gốc của mình. Nó hoạt động lần đầu tiên và lần thứ hai tôi gặp lỗi Thời gian chạy '1004'
Tôi nhận thấy rằng sau khi gặp lỗi Thời gian chạy, tôi bắt đầu gặp vấn đề tương tự với Di chuyển . Sau khi lỗi Run-time, tùy chọn Move and Copy chỉ hoạt động một lần, sau đó nó sẽ chỉ tạo ra một trang giấy trắng.
Vì vậy, tôi kết thúc với.
29A-1, 29A-1 [2], 29A-1 [3], 29A-1 [4], 29A-1 [5], 29A-1 [6], 29A- .
All the tabs listed as Sheet[#] are all blank.
Nếu tôi mở một sổ làm việc mới và cố gắng chỉ chạy mã VBA trước, tôi sẽ ngay lập tức gặp Lỗi thời gian chạy trong lần thử đầu tiên và sau đó gặp các sự cố được liệt kê ở trên.
Có vẻ như có điều gì đó liên quan đến mã VBA gây ra sự cố.
Hãy thử mã gỡ lỗi này để tạo 10 bản sao cùng một lúc. Sử dụng trình gỡ lỗi để thực hiện từng bước và xem mọi thay đổi không mong muốn đối với ActiveSheet hoặc WB.
Mã VBA.
Sub CopyActiveSheet[]
Dim WB As Workbook, WS As Worksheet
Dim I As Integer, S As String
Set WB = ActiveSheet.Parent
On Error GoTo CopyError
For I = 1 To 10
S = S & ActiveSheet.Name & " --> "
ActiveSheet.Copy After:=WB.Sheets[WB.Sheets.Count]
S = S & ActiveSheet.Name & vbCr
Next I
MsgBox S, vbInformation, "Copied"
Exit Sub
CopyError:
S = S & vbCr & "Copy Error." & vbCr
S = S & Err.Description & vbCr
S = S & "Sheets in workbook = " & WB.Sheets.Count & vbCr
For Each WS In WB.Sheets
S = S & " " & WS.Name & vbCr
Next WS
S = S & vbCr
S = S & "Name of ActiveSheet = " & ActiveSheet.Name & vbCr
S = S & "ActiveSheet Type = " & TypeName[ActiveSheet] & vbCr
MsgBox S, vbInformation, "Copy Error"
End Sub
rlv01,rlv01 anh ấy nói
Hãy thử mã gỡ lỗi này để tạo 10 bản sao cùng một lúc. Sử dụng trình gỡ lỗi để thực hiện từng bước và xem mọi thay đổi không mong muốn đối với ActiveSheet hoặc WB.
Mã VBA.
Sub CopyActiveSheet[] Dim WB As Workbook, WS As Worksheet Dim I As Integer, S As String Set WB = ActiveSheet.Parent On Error GoTo CopyError For I = 1 To 10 S = S & ActiveSheet.Name & " --> " ActiveSheet.Copy After:=WB.Sheets[WB.Sheets.Count] S = S & ActiveSheet.Name & vbCr Next I MsgBox S, vbInformation, "Copied" Exit Sub CopyError: S = S & vbCr & "Copy Error." & vbCr S = S & Err.Description & vbCr S = S & "Sheets in workbook = " & WB.Sheets.Count & vbCr For Each WS In WB.Sheets S = S & " " & WS.Name & vbCr Next WS S = S & vbCr S = S & "Name of ActiveSheet = " & ActiveSheet.Name & vbCr S = S & "ActiveSheet Type = " & TypeName[ActiveSheet] & vbCr MsgBox S, vbInformation, "Copy Error" End Sub
Bấm để mở rộng
Tôi đã chạy mã của bạn trong cả sổ làm việc mà ban đầu tôi gặp sự cố, sau đó tôi chạy mã đó trong sổ làm việc mới. Tôi nhận được kết quả giống nhau trong cả hai sổ làm việc. Tôi đã đính kèm một đoạn trích của từng kết quả. Tôi hoàn toàn thua lỗ vào thời điểm này. Tôi đã dành rất nhiều thời gian cho dự án này và không có khả năng sao chép trang tính sẽ khiến nó không sử dụng được.
Bạn có suy nghĩ gì không?