-
01-05-2013, 11:22 PM #1
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 4
Tự đánh thứ tự theo số mình nhập trước
Em có 1 cell chứa ký tự (ví dụ: 2c172z01) bây giờ mình muốn nhấn 1 phím bất kỳ (ví dụ ấn F2) sẽ hiện lên 1 ô cho mình nhập số nhảy (ví dụ như em muốn nhảy đến 2c172z89) thì sẽ tự động nhảy số từ 1-89 giống như mình gõ 1, 2 rồi dùng chuột kéo xuống vậy.
Nếu ít thì em dùng chuột kéo đơn giản thôi, nhưng đằng này nhảy nhiều quá mất công kéo lâu lắm ạView more random threads:
- Cách tính giá vốn hàng bán
- Chuyển kết quả bấm thẻ sang bảng chấm công
- Cho e hỏi bài này với
- cách dùng hàm Table
- xin giúp cách dùng hàm Sumproduct
- VBA Copy file và đổi tên file từ thư mục này qua thư mục khác
- Theo dõi ngạch bậc lương của cb-giáo viên
- Xin file maro excel kế toán trường học!!
- Nhập dữ liệu Sheet B,C,D thì tự động điền vào Sheet tổng hợp A
- Ô excel ko cho nhập dữ liệu - :dapghe
-
01-08-2013, 01:50 PM #2
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Bạn thử với macro này, có gì còn khiếm khuyết ta bổ sung sau
Mã nguồn PHP:[COLOR=#000000]
Option Explicit Sub gpeSTT[/COLOR][COLOR=#007700]() If [/COLOR][COLOR=#0000BB]Selection[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Cells[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Count [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1 Then Dim Rng [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range Dim jJ [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Integer[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]SoCuoi [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]SoDau [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]DD [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte Dim MyStr [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String Set Rng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Selection MyStr [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Value[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]DD [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Len[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]MyStr[/COLOR][COLOR=#007700]) If [/COLOR][COLOR=#0000BB]Not IsNumeric[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Right[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]MyStr[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700])) [/COLOR][COLOR=#0000BB]Then [/COLOR][COLOR=#007700]Exit [/COLOR][COLOR=#0000BB]Sub SoCuoi [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]InputBox[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"Hay Nhap Só Cuo1i Ban Càn:"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"GPE.COM Xin Chào Ban!"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"99"[/COLOR][COLOR=#007700]) For [/COLOR][COLOR=#0000BB]jJ [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]DD To 1 Step [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Not IsNumeric[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Mid[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]MyStr[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]jJ[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700])) [/COLOR][COLOR=#0000BB]Then [/COLOR][COLOR=#007700]Exit For [/COLOR][COLOR=#0000BB]SoDau [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]10 [/COLOR][COLOR=#007700]^ ([/COLOR][COLOR=#0000BB]DD [/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]jJ[/COLOR][COLOR=#007700]) * [/COLOR][COLOR=#0000BB]CInt[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Mid[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]MyStr[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]jJ[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700])) + [/COLOR][COLOR=#0000BB]SoDau Next jJ Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Left[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]MyStr[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]jJ[/COLOR][COLOR=#007700]) & [/COLOR][COLOR=#0000BB]CStr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]SoDau [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Select Selection[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]AutoFill Destination[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]SoCuoi [/COLOR][COLOR=#007700]- ([/COLOR][COLOR=#0000BB]SoDau Mod 10[/COLOR][COLOR=#007700])), [/COLOR][COLOR=#0000BB]Type[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000BB]xlFillDefault Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Select End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]End Sub [/COLOR]
Tại đầu cột nào đó còn trống ta nhập chuỗi chứa số ở cuối, như "GPE303"
Chép macro này vô module 1 & gán cho nó tổ hợp fím tắt, như {CTRL}+{SHIFT}+R
Kích hoạt ô vừa nhập & cho chạy macro (bằng tổ hợp fím trên)
Hiện hộp thoại iêu cầu ta cung cấp số cuối, bạn thử nhập con số 13 & xem kết quả macro;
Thực hiện với những ô khác tiếp theo để biết khả năng của macro.
/(/hững mong là khỏi đưa file lên!:k5392411:
-
01-08-2013, 03:24 PM #3
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Tự đánh thứ tự theo số mình nhập trước
Mình đã làm theo và kết quả rất tốt. Chỉ có điều là mình không biết gán phím tắt cho macro như thế nào. hiixx
Ah mình làm được rồi. Có điều là mình muốn đánh 51 ô đầu tiên, rồi chạy macro nhấn 61 là nó chạy từ 51 đến số 61, như của bạn thì nó nhảy 61 lần, (tức là số 111). Cảm ơn bạn lần nữa nhé
-
01-08-2013, 05:25 PM #4
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Tự đánh thứ tự theo số mình nhập trước
Code này cho phép bạn chọn ô để khởi đầu, <Enter> thì mặc định là ô đang chọn
Mã:' code đánh số liên tục kể từ một trị Sub DanhSo() Dim rg As Range Dim inpS, st As String Dim soD, soC, i As Integer Set rg = Selection.Cells(1, 1) ' chọn ô khởi đầu, mặc định là ô đang chọn inpS = InputBox("Dia chi o khoi dau (" & rg.Address & ")", "STARTING CELL", rg.Address) Set rg = Range(inpS).Cells(1) inpS = rg.Value ' tìm số khởi đầu soD = Len(inpS) Do While soD > 0 And IsNumeric(Mid(inpS, soD, 1)) soD = soD - 1 Loop st = Left(inpS, soD) soD = CInt(Mid(inpS, soD + 1)) ' nhập số cuối inpS = InputBox("So cuoi ", "FINAL NUMBER IN SERIES", soD) soC = CInt(inpS) ' ghi các ô liên tiếp For i = soD + 1 To soC rg.Offset(i - soD, 0).Value = st & i Next i Set rg = Nothing End Sub
-
01-08-2013, 05:33 PM #5
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Tự đánh thứ tự theo số mình nhập trước
Chuẩn men. Cảm ơn bạn
-
04-02-2013, 10:34 PM #6
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Tự đánh thứ tự theo số mình nhập trước
Gửi bởi VetMini
Du lịch Indonesia - Nếu bạn đang tìm kiếm những cảm giác mới lạ thú vị thì "xứ vạn đảo" Indonesia sẽ là một sự lựa chọn không thể bỏ qua. Indonesia với hàng ngàn đảo lớn nhỏ, cùng những cảnh quan...
Tour du lịch Indonesia được Dulichviet tổ chức đặc sắc như thế nào?