Tạo số thứ tự tự động

Liên hệ QC

thanhtungttvl

Thành viên mới
Tham gia
22/12/13
Bài viết
10
Được thích
0
hiện em đang làm 1 cái Form nhập vào danh sách đọc giả
em đang viết được code nhập rồi nhưng còn cái cột số thứ tự không biết làm, bác nào biết chĩ em với
Điều kiện: khi nhập vào 1 đọc giả bất kỳ thì nó tự động đánh số thứ tự từ trên xuống

thank
 

File đính kèm

  • Quan ly thu vien.xlsm
    20.7 KB · Đọc: 24
hiện em đang làm 1 cái Form nhập vào danh sách đọc giả
em đang viết được code nhập rồi nhưng còn cái cột số thứ tự không biết làm, bác nào biết chĩ em với
Điều kiện: khi nhập vào 1 đọc giả bất kỳ thì nó tự động đánh số thứ tự từ trên xuống

thank
Công thức tại ô A3:
Mã:
=IF(B3<>"";MAX($A$2:$A2)+1;"")
sau đó kéo Fill xuống dưới.
Nếu báo lỗi thì thay dấu ";" thành dấu ","

Nếu muốn dùng VBA thì đưa đoạn code bạn đã viết tôi bổ sung cho.
 
Upvote 0
Công thức tại ô A3:
Mã:
=IF(B3<>"";MAX($A$2:$A2)+1;"")
sau đó kéo Fill xuống dưới.
Nếu báo lỗi thì thay dấu ";" thành dấu ","

Nếu muốn dùng VBA thì đưa đoạn code bạn đã viết tôi bổ sung cho.

Xin lỗi bạn, mình cần code VBA chứ không phải công thức, cái đó thường quá. Mình đăng bài trong lập trình mà.
 
Upvote 0
hiện em đang làm 1 cái Form nhập vào danh sách đọc giả
em đang viết được code nhập rồi nhưng còn cái cột số thứ tự không biết làm, bác nào biết chĩ em với
Điều kiện: khi nhập vào 1 đọc giả bất kỳ thì nó tự động đánh số thứ tự từ trên xuống

thank


Phần khác lệnh của bạn giữ nguyên, chỉ thêm 2 dòng, và xóa đoạn lặp tìm dòng cuối của bạn đi
PHP:
i = Sheet1.Cells(65536, 2).End(xlUp).Row + 1
    
    Sheet1.Cells(i, 1) = i - 2 '' so thu tu

chỉ sửa chút là tìm dòng cần nhập cộng thêm, và thêm vào cột A thứ tự , sửa sub cho nút nhập, đầy đủ như sau:
(chắc bạn hiểu các con số tại sao là 2 ở: i - 2)

PHP:
Private Sub nhap_Click()
Dim madocgia, tendocgia, namsinh, nghenghiep, gioitinh, sodienthoai, diachi, ghichu As String
    madocgia = textmadocgia.Text
    tendocgia = texttendocgia.Text
    namsinh = textnamsinh.Text
    nghenghiep = textnghenghiep.Text
    gioitinh = textgioitinh.Text
    sodienthoai = textsodienthoai.Text
    diachi = textdiachi.Text
    ghichu = textghichu.Text
    
    Dim i As Integer
    i = Sheet1.Cells(65536, 2).End(xlUp).Row + 1
    
    Sheet1.Cells(i, 1) = i - 2 '' so thu tu
    
    Sheet1.Cells(i, 2) = madocgia
    Sheet1.Cells(i, 3) = tendocgia
    Sheet1.Cells(i, 4) = namsinh
    Sheet1.Cells(i, 5) = nghenghiep
    Sheet1.Cells(i, 6) = gioitinh
    Sheet1.Cells(i, 7) = sodienthoai
    Sheet1.Cells(i, 8) = diachi
    Sheet1.Cells(i, 9) = ghichu
''------- so thu tu ----------------------------------------------------
    
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Phần khác lệnh của bạn giữ nguyên, chỉ thêm 2 dòng, và xóa đoạn lặp tìm dòng cuối của bạn đi
PHP:
i = Sheet1.Cells(65536, 2).End(xlUp).Row + 1
    
    Sheet1.Cells(i, 1) = i - 2 '' so thu tu

chỉ sửa chút là tìm dòng cần nhập cộng thêm, và thêm vào cột A thứ tự , sửa sub cho nút nhập, đầy đủ như sau:
(chắc bạn hiểu các con số tại sao là 2 ở: i - 2)

PHP:
Private Sub nhap_Click()
Dim madocgia, tendocgia, namsinh, nghenghiep, gioitinh, sodienthoai, diachi, ghichu As String
    madocgia = textmadocgia.Text
    tendocgia = texttendocgia.Text
    namsinh = textnamsinh.Text
    nghenghiep = textnghenghiep.Text
    gioitinh = textgioitinh.Text
    sodienthoai = textsodienthoai.Text
    diachi = textdiachi.Text
    ghichu = textghichu.Text
    
    Dim i As Integer
    i = Sheet1.Cells(65536, 2).End(xlUp).Row + 1
    
    Sheet1.Cells(i, 1) = i - 2 '' so thu tu
    
    Sheet1.Cells(i, 2) = madocgia
    Sheet1.Cells(i, 3) = tendocgia
    Sheet1.Cells(i, 4) = namsinh
    Sheet1.Cells(i, 5) = nghenghiep
    Sheet1.Cells(i, 6) = gioitinh
    Sheet1.Cells(i, 7) = sodienthoai
    Sheet1.Cells(i, 8) = diachi
    Sheet1.Cells(i, 9) = ghichu
''------- so thu tu ----------------------------------------------------
    
End Sub

cám ơn bác }}}}} đúng cái mình cần
mà mình ko hiểu lắm về cái code mà bác viết, bác có thể nói sơ qua tí dc ko
- cái số 65536 để làm gì vậy
- cái code phía sau nữa .End(xlUp).Row + 1
- cái số thứ tự thì chĩ cần 1 dòng code nầy Sheet1.Cells(i, 1) = i - 2 là ra rồi à

Thank bác. |||||
 
Upvote 0
cám ơn bác }}}}} đúng cái mình cần
mà mình ko hiểu lắm về cái code mà bác viết, bác có thể nói sơ qua tí dc ko
- cái số 65536 để làm gì vậy
- cái code phía sau nữa .End(xlUp).Row + 1
- cái số thứ tự thì chĩ cần 1 dòng code nầy Sheet1.Cells(i, 1) = i - 2 là ra rồi à

Thank bác. |||||
tương

Sheet1.Cells(65536, 2) tương đương ô [B65536] ở sheet1

tại sao chọn 65536 vì đó là dòng cuối cùng của phiên bản excel 2003 (có thể còn dùng) / ex2007 trở lên thì cao hơn nhiểu ( >1 triệu...), nhưng thế là quá đủ để vùng dữ liệu của ta không ghé đến


.End(xlUp).Row + 1
tương đương sao?

giờ để hiểu cái này, bạn hãy
+ di chuyển con trỏ đên ô B65536
+ bấm phím END, rồi nhả tay ra bấm phím UP (mũi tên hướng lên trên)

xem con trỏ chạy về ô nào?? có phải ô cuối cùng có dữ liệu của B không nên
.End(xlup) là tương đương 2 dấu bước dấu "+" trên

rồi .Row là lấy chỉ số hàng của ô cuối này , sau đó đem +1 ==> tương đương chỉ số hàng ngay dưới ô B có dữ liệu cuối,

vậy thôi

Tìm hiểu thêm ở đây cho bài bản hơn http://www.giaiphapexcel.com/forum/showthread.php?6420-Hỏi-về-thuộc-tính-End()&p=44289#post44289 (lần sau bạn cũng nên tự tìm search giống tôi thế này)
 
Upvote 0
tương

Sheet1.Cells(65536, 2) tương đương ô [B65536] ở sheet1

tại sao chọn 65536 vì đó là dòng cuối cùng của phiên bản excel 2003 (có thể còn dùng) / ex2007 trở lên thì cao hơn nhiểu ( >1 triệu...), nhưng thế là quá đủ để vùng dữ liệu của ta không ghé đến


.End(xlUp).Row + 1
tương đương sao?

giờ để hiểu cái này, bạn hãy
+ di chuyển con trỏ đên ô B65536
+ bấm phím END, rồi nhả tay ra bấm phím UP (mũi tên hướng lên trên)

xem con trỏ chạy về ô nào?? có phải ô cuối cùng có dữ liệu của B không nên
.End(xlup) là tương đương 2 dấu bước dấu "+" trên

rồi .Row là lấy chỉ số hàng của ô cuối này , sau đó đem +1 ==> tương đương chỉ số hàng ngay dưới ô B có dữ liệu cuối,

vậy thôi

Tìm hiểu thêm ở đây cho bài bản hơn http://www.giaiphapexcel.com/forum/showthread.php?6420-Hỏi-về-thuộc-tính-End()&p=44289#post44289 (lần sau bạn cũng nên tự tìm search giống tôi thế này)

Hi --=0
cám ơn nhiều
 
Upvote 0
Web KT
Back
Top Bottom