Các câu hỏi về việc Đánh Số Thứ Tự (STT) (1 người xem)

  • Thread starter Thread starter nautel
  • Ngày gửi Ngày gửi
Liên hệ QC

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

1. Cột CTGS bạn gõ công thức sau, tự động lấy số phiếu theo loại "Thu","Chi", khỏi cần hai cột phụ A,B
PHP:
C6 = CONCATENATE(IF(LEFT(H6,3)="111","PT"&TEXT(SUMPRODUCT(--(LEFT($H$6:H6,3)="111")),"000"),"PC"&TEXT(SUMPRODUCT(--(LEFT($I$6:I6,3)="111")),"000")))
Sau đó Fill công thức xuống!

2. Sửa lại Name: SoChungTu:
PHP:
SoChungTu = OFFSET(NKCT!$C$6,,,COUNTA(NKCT!$C:$S),1)
Như vậy bên sheet [Phiếu Chi] sẽ tự động cập nhật mỗi khi có thêm phiếu bên sheet NKC mà không cần phải khai báo lại Name.

Bạn xem thêm file đính kèm nhé!

3. Thắc mắc: Số phiếu bạn liên tục cả năm à! Mỗi tháng không quay lại số phiếu là 1 sao? Bên mình thì số phiếu Thu /Chi lại đánh khác, như sau:
Đảm bảo xài được trong 99 năm mà không sợ bị trùng phiếu!
Công thức lấy số phiéu thu chi của bạn không phù hợp với CSDL của tác giả. Trong file gốc của tác giả, những hóa đơn có thuế GTGT được hạch toán hai dòng: Tiền hàng riêng và tiền thuế riêng. Nhưng hai dòng này phải cùng số phiếu chi. Với công thức của bạn thì kết quả sẽ ra hai số phiếu chi liên tiếp nhau.
Mình đã là như bạn hướng dẫn thì cột CTGS có thể đánh số tiếp được nhưng lại không in đươc phiếu ở sheet phieu chi
Không in được là sao hả bạn. Khi nhập số phiếu chi vào cột CTGS thì bạn phải nhập nội dung tương ứng vào các dòng khác thì thông tin trên phiếu chi mới đầy đủ được.
 
Vđề in Phiếu mình sửa được rồi nhưng còn tách thuế như bạn huuthang_bd nói thì sao?
 
Công thức lấy số phiéu thu chi của bạn không phù hợp với CSDL của tác giả. Trong file gốc của tác giả, những hóa đơn có thuế GTGT được hạch toán hai dòng: Tiền hàng riêng và tiền thuế riêng. Nhưng hai dòng này phải cùng số phiếu chi. Với công thức của bạn thì kết quả sẽ ra hai số phiếu chi liên tiếp nhau.

Vẫn trên thuật giải đó! Tôi vẫn dùng SUMPRODUCT để đếm, kèm theo điều kiện nhận biết hai dòng, hoặc n dòng cùng 1 phiếu. Và trong trường hợp này, điều kiện nhận biết là Số Hóa đơn giống nhau ở các dòng khác nhau!

Tuy nhiên, tôi vẫn thắc mắc là nếu số hóa đơn giống nhau nhưng là hai phiếu khác nhau thì sao nhỉ!? Cho nên căn cứ vào số Hóa đơn thì chưa đủ! Phải kèm theo ngày hóa đơn và số Series nữa mới đúng!
 
Vấn đề tác giả Topic đưa ra đã được giải quyết rồi. Tôi nghĩ nên đóng Topic này ở đây. Còn vấn đề lập công thức cho cột CTGS thì không nên đề cập đến. Trong file tôi thấy cột CTGS ngoài PT, PC còn có các loại khác như PN, PX, DT... Nếu tác giả muốn nhờ mọi người lập giúp công thức cho cột CTGS thì nên nêu rõ yêu cầu, điều kiện như thế nào thì gán là PN, PX...
 
Tôi đã xem qua file này... do không hiểu kế toán nên không dám gợi ý công thức khác, chỉ xin sửa lại như sau:
Trong file, ngay cột A và B có dùng công thức:
RIGHT(...???...,3)

TEXT(...???... "000")
Hãy đổi nó thành
RIGHT(...???...,4)
TEXT(...???... "0000")
Là im chuyện ngay
Số phiếu dc đánh đến hàng ngàn, đương nhiên nó phải có dạng PCxxxx hoặc PTxxxx chứ
 
Cách tạo công thức tự động đánh số thứ tự

Chào các bạn,
Mình đang gặp phải vấn đề đau đầu như sau, rất mong được các bạn hỗ trợ:
Mình có một bảng tínhb (hình đính kèm) trong bảng có cột "mã hàng" với các loại hàng giống nhau được xếp cạnh nhau (khi số lượng hàng hóa thay đổi, người dùng sẽ insert hoặc delete dòng tương ứng), chính vì thế số thứ tự hàng thường xuyên bị thay đổi, mình muốn tạo một công thức tính số thứ tự mà khi xóa hoặc chèn thêm hàng thì số TTnày cũng tự động được cập nhật. (không dùng VBA nhé)
Rất cám ơn các bạn,
 

File đính kèm

  • 20090127-Danh so Tt.JPG
    20090127-Danh so Tt.JPG
    7.8 KB · Đọc: 98
Chào các bạn,
Mình đang gặp phải vấn đề đau đầu như sau, rất mong được các bạn hỗ trợ:
Mình có một bảng tínhb (hình đính kèm) trong bảng có cột "mã hàng" với các loại hàng giống nhau được xếp cạnh nhau (khi số lượng hàng hóa thay đổi, người dùng sẽ insert hoặc delete dòng tương ứng), chính vì thế số thứ tự hàng thường xuyên bị thay đổi, mình muốn tạo một công thức tính số thứ tự mà khi xóa hoặc chèn thêm hàng thì số TTnày cũng tự động được cập nhật. (không dùng VBA nhé)
Rất cám ơn các bạn,
Ô A2 bạn gõ công thức:
PHP:
=IF(COUNTIF($B$2:$B2,$B2)=1,MAX($A$1:$A1)+1,"")
Sau đó copy công thức xuống dưới là xong.
Lưu ý khi chèn thêm dòng thì nhớ copy công thức xuống dòng mới chèn thêm đó nha!
Bạn xem thêm file đính kèm.
 

File đính kèm

Tại A2 đã có số 1, B2 đã có A
Tại A3 nhập: =IF(B3<>"";A2+1;"")
Lưu ý dấu , và dấu ;
 
Dùng cái này cũng được
=IF(And(B3<>B2, B3<>""), MAX($A$1:$A1)+1, "")
khieukienag đã viết:
Tại A2 đã có số 1, B2 đã có A
Tại A3 nhập: =IF(B3<>"";A2+1;"")
Công thức của khieukienag chỉ dùng để đánh số liên tục mỗi dòng, yêu cầu là đánh số ngắt quãng (cách dòng).
 
Cũng tương tự có thể làm như sau: Cột A số TT tưA2, tên từ B2
Tại A2 nhập =if(counta(B2)=1, counta(B$2:B2),"") sau đó kéo công thức này xuống hết bảng
khi insert kéo công thức xuống ở cột sTT số dòng thêm.
Nếu chia theo nhóm như Bang tính cua ban:
Tại A2 nhập =if(B2=B1,"",Max(A$2:A2)+1) khi thêm dòng phải kéo lại công thức xuống những dòng vừa thêm.
 
Lần chỉnh sửa cuối:
Bạn dùng công thức này nhé
tại vị trí ô A6 bạn gõi công thức =if(F6<>"",MAX($A$3:A5)+1,"") trong trường hợp lấy số thứ tự khi cột F là giá trị rỗng.
Trong trường hợp bạn muốn lấy số thứ tự khi cột F có chữ "xong" thì gõ =if(F6<>"xong",MAX($A$3:A5)+1,"")
 
Công thức đánh số thứ tự cho sổ NKC????

Mình đang tập tành lập mẫu sổ. Mình đang bị vướng chỗ công thức đánh số thứ tự cho sổ NKC: làm sao k bị trùng lập khi có cùng 1 chứng từ(nó gồm phiếu thu, phiếu chi, và phiếu kế toán). Bạn quan tâm, giúp mình thì save file mình đính kèm. Mong các bạn giúp đỡ. Cảm ơn nhiều.
 

File đính kèm

Xem thử file đính kèm xem có đúng ý bạn hôn nha! Cái khó là bạn phải xác định được hai dòng hạch toán là cho cùng 1 phiếu thu/chi. Ở đây, với file của bạn, mình dựa vào 3 cột: số serial, số hóa đơn và ngày hóa đơn của chứng từ kèm theo.
 

File đính kèm

Lần chỉnh sửa cuối:
Mình đang tập tành lập mẫu sổ. Mình đang bị vướng chỗ công thức đánh số thứ tự cho sổ NKC: làm sao k bị trùng lập khi có cùng 1 chứng từ(nó gồm phiếu thu, phiếu chi, và phiếu kế toán). Bạn quan tâm, giúp mình thì save file mình đính kèm. Mong các bạn giúp đỡ. Cảm ơn nhiều.
Không biết nguyên tăc đánh STT như thế nào, nhưng nhìn công thức thì biết sai 2 chổ:
1> Hàm MONTH mà bạn gõ là MONHT (nên lổi #NAME!)
2> Công thức mãng lý ra phải Ctrl + Shift + Enter thì bạn lại Enter (nên lổi #VALUE!)
 
Đánh số thứ tự

Chỉ mình cách đánh số thứ tự như trong file đính kèm sau đây . Cám ơn các bạn .
 

File đính kèm

Cũng với đề tài đánh số thứ tự, toi cũng muốn hỏi: Tôi có một danh sách học sinh. cột STT là cột A, Ho tên là cột B. Tôi muốn dùng VBA viết đoạn code đánh số thứ tự với yếu cầu nếu cell B tương ứng trống thí bỏ trống không đánh số TT, ngược lại gán trị là 1, cứ thế tăng dần Số TT theo danh sách.
 
Bạn thử với đoạn mã sau

Cũng với đề tài đánh số thứ tựi: Tôi có một danh sách học sinh. cột STT là A, Ho tên là cột B. Tôi muốn dùng VBA viết đoạn code đánh số thứ tự với yếu cầu nếu cell B tương ứng trống thí bỏ trống không đánh số TT, ngược lại gán trị là 1, cứ thế tăng dần Số TT theo danh sách.

PHP:
Option Explicit
Sub STTu()
 Dim Rng As Range, Clls As Range:         Dim jJ As Long
 Set Rng = Range([A65500].End(xlUp).Offset(1), Cells([B65500].End(xlUp).Row, "A"))
3 MsgBox Rng.Address, , "GPE.COM"
 For Each Clls In Rng
   jJ = jJ + 1:                                     Clls.Value = jJ
 Next Clls
End Sub

Nhắc thêm: Khi nào không muốn thấy hộp thoại nữa thì vô hiệu nó đi bằng các dấu nháy tại nơi thích hợp của dòng lệnh đã đánh số.
 
Bạn thử chạy macro trên trang tính như sau

Nhưng không hiểu sao khi chép đoạn câu trên về chạy thị máy bị đứng.
Rất mong Anh hướng dẫn thêm. Cám ơn Anh rất nhiều. Thân
|A|B|
1| STT | HoTen |
2||Nguyen Viet Hong|
3||Le Thi Thom|
4||Tran . . . |
5. .||. . . . . . |
19||Ha Ngoc Lan|
20|||

 
Đánh số thứ tự Trả Lời Ðề Tài

Cũng với đề tài đánh số thứ tự, toi cũng muốn hỏi: Tôi có một danh sách học sinh. cột STT là cột A, Ho tên là cột B. Tôi muốn dùng VBA viết đoạn code đánh số thứ tự với yếu cầu nếu cell B tương ứng trống thí bỏ trống không đánh số TT, ngược lại gán trị là 1, cứ thế tăng dần Số TT theo danh sách.
Chỉ cần đơn giản dùng hàm . Bạn xem thử có đúng không?
 

File đính kèm

Mình chạy không bị đứng nữa, nhưng có dòng trống thì vẫn đếm luôn, mình muốn là không có dòng trắng thì không đềm, rất mong anh xem lại giúp.

Thanks!
Dòng trắng là sao, là dòng mà các cell ="" hay sao. Sao không xoá đi.
Bạn đưa ví dụ lên, có thể không cần for mà dùng theo cách của Ndu là evaluate (row()).
 
đánh số thứ tự tự động trong sổ kế toán

các cao thủ xin chỉ giúp mình cách đánh số thứ tự tự động trong sổ kế toán với ,mình có gửi file kèm theo.chân thành cảm ơn!
 

File đính kèm

các cao thủ xin chỉ giúp mình cách đánh số thứ tự tự động trong sổ kế toán với ,mình có gửi file kèm theo.chân thành cảm ơn!
Trong file chẳng thấy có mô tả hay giải thích gì cả... Đâu phải ai cũng rành kế toán mà biết bạn muốn gì chứ
Nói rỏ chút đi:
- Đánh số TT là đánh vào vùng nào?
- Quy luật STT ra sao?
 
_ đánh số thứ tự vào 2 cột B hoặc C (Số phiếu : Thu hoặc Chi)
Ví dụ :
điền số tự động nếu như cột D có dữ liệu là text(D11;D12;D13) còn nếu dữ liệu là dạng số thì không đánh số thứ tự (D14)
_ Qui luật là bắt đầu từ 01 đến ...**~**
 
_ đánh số thứ tự vào 2 cột B hoặc C (Số phiếu : Thu hoặc Chi)
Ví dụ :
điền số tự động nếu như cột D có dữ liệu là text(D11;D12;D13) còn nếu dữ liệu là dạng số thì không đánh số thứ tự (D14)
_ Qui luật là bắt đầu từ 01 đến ...**~**
Trong file, tôi thấy bạn format ô D14 là Text mà! Có vấn đề gì mâu thuẫn không vậy!? Bạn nói rõ thêm thì mới làm được!
 
Chào ThuNghi ! Dòng trắng là dòng mà cell bên cột B không có tên. Không thể xoá vì theo Số TT trong sổ diểm. Do do tôi mới dề nghị nếu B1(Họ tên)="" thì A1(STT) không đánh số TT.
 
_ đánh số thứ tự vào 2 cột B hoặc C (Số phiếu : Thu hoặc Chi)
Ví dụ :
điền số tự động nếu như cột D có dữ liệu là text(D11;D12;D13) còn nếu dữ liệu là dạng số thì không đánh số thứ tự (D14)
_ Qui luật là bắt đầu từ 01 đến ...**~**
Dùng công thức này cho Cell B11.
Mã:
B11=ISERROR(--$D11)*(F11>0)*(MAX(B$10:B10)+1)
Copy cho cả 2 cột Số phiếu thu, chi.
Định dạng 2 cột này như sau:
Mã:
00;00;""
 
Chào Anh ThuNghi và các Anh/ Chi GPE
Yêu cầu:
Sau khi dùng macro tổng hợp nhiều file thành 1 file ( hôm trước Anh ThuNghi viết dùm)
cụ thể là lấy số liệu từ sheet HANGXUAT của fìle HANGXUAT1HANGXUAT2 vào sheet HANGXUAT của file TONGHOP_HX thì cột STT được đánh số lại theo thứ tự mới như sheet HÀNG XUẤT trong file TONGHOP_HX

Rất mong Anh ThuNghi và các Anh/ Chi hướng dẫn giúp.
Cái này đâu cần phải dùng Macro đâu. Công thức cũng rất đơn giản mà. Căn cứ vào cột ngày. Tôi lấy ví dụ là file HANGXUAT1 của bạn. Công thức tại Cell A9 là:
Mã:
A9=IF(B9,COUNT($B$9:B9),"")
Còn nếu muốn Code thì dùng code điền công thức đó vào. Ví dụ:
PHP:
Sub STT()
    [A9:A100].FormulaR1C1 = "=IF(RC[1],COUNT(R9C2:RC[1]),"""")"
    [A9:A100] = [A9:A100].Value
End Sub
 
thứ tự sắp xếp

Chào tất cả thành viên GPE!
Mình có vấn đề cần giải quyết(có file đính kèm) nhờ các bạn giúp mình.
Cám ơn tất cả GPE!
TKS
 
Chào Anh ThuNghi và các Anh/ Chi GPE
Yêu cầu:
Sau khi dùng macro tổng hợp nhiều file thành 1 file ( hôm trước Anh ThuNghi viết dùm)
cụ thể là lấy số liệu từ sheet HANGXUAT của fìle HANGXUAT1HANGXUAT2 vào sheet HANGXUAT của file TONGHOP_HX thì cột STT được đánh số lại theo thứ tự mới như sheet HÀNG XUẤT trong file TONGHOP_HX

Rất mong Anh ThuNghi và các Anh/ Chi hướng dẫn giúp.
Có cần phải sửa nữa không.
Thêm vào dưới chữ Wend câu sau.
HTML:
Wend
With Sheets("HANGXUAT").Range("A9:A" & eRow - 1)
  .FormulaR1C1 = "=IF(RC2="""","""",COUNT(R9C2:RC2))"
  .Value = .Value
End With
 
Lần chỉnh sửa cuối:

File đính kèm

Theo yêu cầu của bạn. Cả hai cách. Mời bạn xem file.
Bạn làm rất nhanh.Cám ơn thắng nhe!

Chào bạn huuthang_bd các bài của bạn rất hay mình đã tìm hiểu và học được rất nhiều ở GPE nói chung và ở bạn nữa, nhưng "không thầy đố mày làm nên" mình muốn bạn giải thích hộ mình hàm "=SUMPRODUCT(1/COUNTIF(Data,Data))".Mình chịu không thể hiểu nổi nó nữa!

Đây là dạng công thức mảng.

Hàm Countif() dùng bình thường
Countif({1,1,3},1) = 2
Và dùng dạng mảng:
Countif({a},{b})
Công thức này sẽ tạo ra một mảng được tạo bằng cách đếm từng phần tử của mảng {b} trong mảng {a}.
Ví dụ:
Countif({1,1,3},{1,2}) sẽ tạo ra mảng {2,0}
Countif({1,1,3},{1,1,3}) sẽ tạo ra mảng {2,2,1}
Dùng 1/Countif({1,1,3},{1,1,3}) để khi cộng lại, các phần tử giống nhau chỉ được cộng 1 lần.
Ví dụ 1/Countif({1,1,3},{1,1,3}) = 1/{2,2,1} = {1/2,1/2,1}
Nói chung là nếu có 2 phần tử giống nhau thì được 2 số 1/2, 5 phần tử giống nhau thì được 5 số 1/5. Cho nên dù có bao nhiêu phần tử giống nhau đi nữa, khi cộng hết lại sẽ được tổng số loại phần tử trong mảng. Gọi là đếm không trùng.
Sumproduct(1/Countif({1,1,3},{1,1,3}))=Sumproduct({1/2,1/2,1}) = 2
Những công thức này vận dụng chủ yếu là công thức mảng. Nếu muốn hiểu bạn phải tìm hiểu về công thức mảng trước. __________________
 
Chỉnh sửa lần cuối bởi điều hành viên:
mình có thêm một chút vào công thức của bạn để cột thu chi dòng cộng tổng hàng tháng vẫn có được công thức (bởi vì hàng tháng phải cộng tổng lại mà).Rất cảm ơn nghe con nhìu nhìu @$@!^%@$@!^%@$@!^%-\\/.-\\/.
 

File đính kèm

Lần chỉnh sửa cuối:
Chỉ cần đơn giản dùng hàm . Bạn xem thử có đúng không?
cám ơn anh letuongqt nhiều lắm.đêm qua em đau đầu ko biết phải làm sao đánh số tt bỏ trống những dòng ko có thông tin.tiện thể e hỏi anh chút.làm thế nào tạo được nút macro ví dụ trong phiếu thu chi- khi nhấn vào nút in phiếu hiện lên bảng thông tin cho phép ta chọn số phiếu muốn in, hoặc in tất cả phiếu trong tháng hoặc trong năm. em cám ơn anh rất rất nhiều.
 
Đánh số thứ tự tăng dần khi cùng mã số

Chào các bạn,

Mình có file excel cần đánh số thứ tự theo nhóm khi cùng mã số

File đính kèm file cho các bạn tham khảo cột K được tô vàng.

Thanks&Regards,
Tâm Bình
 

File đính kèm

Chào các bạn,

Mình có file excel cần đánh số thứ tự theo nhóm khi cùng mã số

File đính kèm file cho các bạn tham khảo cột K được tô vàng.

Thanks&Regards,
Tâm Bình

Tại Ô K2 bạn gõ 1,
Tại Ô K3 bạn dùng công thức: =IF(I3=I2,"",SUMPRODUCT(1/COUNTIF($I$2:I3,$I$2:I3))) rồi fill xuống hết cột K

Hoặc chỉ dùng =IF(I2=I1,"",SUMPRODUCT(1/COUNTIF($I$2:I2,$I$2:I2))) tại K2 rồi fill xuống,
Thử xem,
 
Chào các bạn,

Mình có file excel cần đánh số thứ tự theo nhóm khi cùng mã số

File đính kèm file cho các bạn tham khảo cột K được tô vàng.

Thanks&Regards,
Tâm Bình
Hạn chế sử dụng công thức mảng sẽ tăng tốc độ xử lý của file.
Mã:
K2=IF(I2<>I1,MAX($K$1:K1)+1,"")
 
Hướng dẫn về cách đánh Số Thứ Tự

Rất mong các anh em trên GPE xem và giúp cách đánh số thứ tự. Yêu cầu cụ thể trong file đính kèm. Cám ơn
 

File đính kèm

Rất mong các anh em trên GPE xem và giúp cách đánh số thứ tự. Yêu cầu cụ thể trong file đính kèm. Cám ơn
Anh dùng thử công thức này xem (cho cell D2)
PHP:
=IF(ISNUMBER($B2),RANK($B2,$B$2:$B$26,1)+COUNTIF($B$2:$B2,$B2)-1,"")
Anh test thử, không chắc có sai sót gì không!
 
rất mong các anh em trên gpe xem và giúp cách đánh số thứ tự. Yêu cầu cụ thể trong file đính kèm. Cám ơn
Dùng công thức mảng, kết hợp với số thứ tự dòng để xác định nếu cùng ngày thì cái nào xuất hiện trước. Công thức cho ô D2 (Công thức mảng)
Mã:
=IF(ISNUMBER(B2),SUMPRODUCT(--(B2+ROW(B2)/1000>=IF(ISNUMBER($B$2:$B$26),$B$2:$B$26+ROW($B$2:$B$26)/1000,""))),"")
Anh xem thêm trong file.
 

File đính kèm

Anh dùng thử công thức này xem (cho cell D2)
PHP:
=IF(ISNUMBER($B2),RANK($B2,$B$2:$B$26,1)+COUNTIF($B$2:$B2,$B2)-1,"")
Anh test thử, không chắc có sai sót gì không!
---
Chú ơi làm sao anh fill được chú, dưới D2 là "X :số liệu". Bước nhảy đều nhau: D2 -> D7 -> D12 -> D17 -> D22 ....Cám ơn chú.
 
Lần chỉnh sửa cuối:
---
Chú ơi làm sao anh fil được chú, dưới D2 là "X :số liệu". Bước nhảy đều nhau: D2 -> D7 -> D12 -> D17 -> D22 ....Cám ơn chú.
Anh dùng AutoFilter lọc các ô đó ra, chọn các ô hiện (Visible Cells) rồi nhập công thức. Nhập xong nhấn Ctrl + Enter.
 
Anh dùng AutoFilter lọc các ô đó ra, chọn các ô hiện (Visible Cells) rồi nhập công thức. Nhập xong nhấn Ctrl + Enter.
AutoFilter xong, cứ nhập công thức và kéo fill thoải mái ---> Khỏi cần quan tâm đến Visible cell hay Ctrl + Enter gì cả!
 
AutoFilter xong, cứ nhập công thức và kéo fill thoải mái ---> Khỏi cần quan tâm đến Visible cell hay Ctrl + Enter gì cả!
Vụ này tôi với bạn đã có lần tranh luận với nhau rồi, hình như là copy khi đang Filter. Bạn không gặp phải trường hợp này không có nghĩa là nó không xảy ra.

Gửi anh tam8678
Theo yêu cầu của anh em chuyển công thức của NDU thành UDF
PHP:
Function SoThuTu(MyRng As Range, Rng As Range) As Long
SoThuTu = Application.WorksheetFunction.Rank(Rng, MyRng, 1) + Application.WorksheetFunction.CountIf(MyRng.Resize(Rng.Row + 1 - MyRng.Row), Rng) - 1
End Function
MyRng là cột dữ liệu
Rng là ô chứa ngày cần xác định số thứ tự.
 
Vụ này tôi với bạn đã có lần tranh luận với nhau rồi, hình như là copy khi đang Filter. Bạn không gặp phải trường hợp này không có nghĩa là nó không xảy ra.
Ấy ---> Excel 2007 có xãy ra sự cố này, nhưng đó là do người dùng thao tác sai
Thao tác đúng thì chẳng có sự cố nào ngoài ý muốn xãy ra cả!
Thao tác sai có nghĩa là: Lý ra phải chọn toàn bộ dữ liệu sau đó mới AutoFilter, đàng này có người làm biếng, chỉ chọn mổi tiêu đề ---> Sự cố ráng chịu chứ
Xem tại đây:
Copy dữ liệu sau khi dùng Auto Filter ???
Ở topic này tôi đã tìm cách tái hiện lại sự cố copy sau khi AutoFilter trên Excel 2007 rồi đấy ---> từ đó ta cũng biết cách mà ngừa
 
Lần chỉnh sửa cuối:
Anh dùng thử công thức này xem (cho cell D2)
PHP:
=IF(ISNUMBER($B2),RANK($B2,$B$2:$B$26,1)+COUNTIF($B$2:$B2,$B2)-1,"")
Anh test thử, không chắc có sai sót gì không!
---
Lỗi này do anh giả lập dữ liệu !$@!!. Vùng từ $B$2:$B$26, "X":dạng số, text, "". Chú xem có ý kiến nhé.
 
---
Lỗi này do anh giả lập dữ liệu !$@!!. Vùng từ $B$2:$B$26, "X":dạng số, text, "". Chú xem có ý kiến nhé.
Vì dữ liệu lặp lại theo một nguyên tắc cố định (Cứ cách a dòng thì xuất hiện một dòng ngày tháng cần đánh số thứ tự nên em sửa lại UDF như thế này:
PHP:
Function SoThuTu(MyRng As Range, Rng As Range, MyStep As Long) As Long
For i = 1 To Int((MyRng.Rows.Count - 1) / MyStep) + 1
    If Rng.Value > MyRng.Cells((i - 1) * MyStep + 1) Then
        SoThuTu = SoThuTu + 1
    End If
    If Rng.Value = MyRng.Cells((i - 1) * MyStep + 1) And MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row Then
        SoThuTu = SoThuTu + 1
    End If
Next
End Function
Cú pháp:
Mã:
=SoThuTu(MyRng,Rng,MyStep)
MyRng là cột dữ liệu
Rng là ô chứa dữ liệu cần đánh số thứ tự
MyStep là bước nhảy của dữ liệu

Anh xem thêm trong file đính kèm
 

File đính kèm

Vì dữ liệu lặp lại theo một nguyên tắc cố định (Cứ cách a dòng thì xuất hiện một dòng ngày tháng cần đánh số thứ tự nên em sửa lại UDF như thế này:
PHP:
Function SoThuTu(MyRng As Range, Rng As Range, MyStep As Long) As Long
For i = 1 To Int((MyRng.Rows.Count - 1) / MyStep) + 1
If Rng.Value > MyRng.Cells((i - 1) * MyStep + 1) Then
SoThuTu = SoThuTu + 1
End If
If Rng.Value = MyRng.Cells((i - 1) * MyStep + 1) And MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row Then
SoThuTu = SoThuTu + 1
End If
Next
End Function
Cú pháp:
Mã:
=SoThuTu(MyRng,Rng,MyStep)
MyRng là cột dữ liệu
Rng là ô chứa dữ liệu cần đánh số thứ tự
MyStep là bước nhảy của dữ liệu

Anh xem thêm trong file đính kèm
---
+-+-+-+ Thật tình đọc UDF của huuthang_bd thấy "lơ mơ" quá. Th vui lòng hướng dẫn được không? Chúc vui.
* P/s: sau khi có số phiếu theo số thứ tự thì làm thế nào để sắp xếp phiếu theo thứ tự 1, 2, 3, ....
 
Lần chỉnh sửa cuối:
+-+-+-+ Thật tình đọc UDF của huuthang_bd thấy "lơ mơ" quá. Th vui lòng hướng dẫn được không? Chúc vui.

Đây là code của UDF được đánh số thứ tự:
PHP:
01 Function SoThuTu(MyRng As Range, Rng As Range, MyStep As Long) As Long
02 For i = 1 To Int((MyRng.Rows.Count - 1) / MyStep) + 1
03 If Rng.Value > MyRng.Cells((i - 1) * MyStep + 1) Then
04 SoThuTu = SoThuTu + 1
05 End If
06 If Rng.Value = MyRng.Cells((i - 1) * MyStep + 1) And MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row Then
07 SoThuTu = SoThuTu + 1
08 End If
09 Next
10 End Function
Đây là ý nghĩa từng dòng Code, lấy ví dụ MyRng = [A1:A17], Step = 5
Dòng 01: Khai báo hàm
Dòng 02, 09: Cho i duyệt từ 1 đến n (n là kết quả của biểu thức Int((MyRng.Rows.Count - 1) / MyStep) + 1 là số ô cần xếp thứ tự trong cột dữ liệu. Theo ví dụ thì Int((MyRng.Rows.Count - 1) / MyStep) + 1 = Int((17 - 1) / 5) + 1) = 4
Dòng 03, 04, 05: Tính xem ô cần đánh số thứ tự (Rng) lớn hơn bao nhiêu ô trong số các ô cần đánh số thứ tự (Khi i duyệt từ 1 đến n thì kết quả biểu thức MyRng.Cells((i - 1) * MyStep + 1) lần lượt là các ô cần đánh số thứ tự trong cột dữ liệu. Trong ví dụ, khi i duyệt từ 1 đến 4 (n=4) thì (i - 1) * MyStep + 1 lần lượt nhận các giá trị 1, 6, 11, 16; MyRng.Cells((i - 1) * MyStep + 1) lần lượt là các ô cần đánh số thứ tự: A1, A6, A11, A16).
Dòng 06, 07, 08: Xét xem trong cột dữ liệu ô cần đánh số thứ tự (Rng) là ô thứ mấy có giá trị bằng ô cần đánh số thứ tự. Đoạn code MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row có nghĩa là chỉ xét các ô từ ô đầu tiên đến ô cần đánh số thứ tự.
Dòng 10: Kết thúc hàm

UDF này về code thì không có gì mới cả, chỉ hơi rắc rối phần thuật toán thôi. Giải thích như vậy không biết anh có hiểu không.

* P/s: sau khi có số phiếu theo số thứ tự thì làm thế nào để sắp xếp phiếu theo thứ tự 1, 2, 3, ....
Để sort theo số thứ tự anh cần một cột phụ vì cột số thứ tự của anh có lẫn cả dữ liệu trong đó.
Ví dụ cột số thứ tự của anh là cột D, bắt đầu từ D5, cột phụ là cột E. Cách làm thế này:
Lọc ra các dòng được đánh số thứ tự, nhập công thức cho ô E5=D5, fill xuống.
Lọc các dòng không được đánh số thứ tự, nhập công thức cho ô E6=E5, fill xuống.
Sau đó sort theo cột phụ (Cột E)
 
Lần chỉnh sửa cuối:
Đánh lại số thứ tự mới khi chuyển qua 1 mã mới

E gửi file nhờ anh chị giỏi excel giải giúp e. Quả thật e còn phải học hỏi rất nhiều. Cột tô màu cam là cột e cần đánh số thứ tự theo kiểu cứ sang 1 mục tiêu khác là số thứ tự đánh lại từ số 1. Tạm thời e đánh tay vì ko nghĩ ra công thức +-+-+-+. Mong anh chị giúp e. E cảm ơn trước. /-*+/

Tôi chưa hiểu ý của bạn. Bạn có thẻ giải thích rõ hơn không?

Dạ. Cột F là cột e muốn lập công thức. Hiện tại e đánh bằng tay cột F vì ko nghĩ ra công thức. Gài công thức cột F dựa theo mã cột D (Mục Tiêu), tức là cứ 1 mục tiêu mới là đánh số thứ tự lại ạ. Chứ ko đánh số thứ tự luôn tuồng như cột E. Anh chị hiểu ý e ko ạ :.,
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Chào bạn.
Bạn xem công thức của mình có đúng ý của bạn chưa?
 

File đính kèm

Dùng công thức:
=IF(D3=D2;F2+1;1)
Rồi điềm xuống
 
Dùng công thức:
=IF(D3=D2;F2+1;1)
Rồi điềm xuống

Bác Sealand ơi với trường hợp là các "Mục tiêu" của tác giả đưa ra lặp lại nhưng không liên tiếp nhau thì sao ạ? Thí dụ các "mục tiêu" lặp lại này nó nằm trên các ô như D4, D6, D8 ... như vậy mình phải Sort trước hả bác?Có công thức nào không cần Sort nhưng vẫn điền được thứ tự tăng không ạ? và không sử dụng VBA nữa bác nhe! :D
 
Lần chỉnh sửa cuối:
Bạn lại không đọc kỹ yêu cầu của bạn ấy rồi,
cứ sang 1 mục tiêu khác là số thứ tự đánh lại từ số 1
Còn theo ý bạn có thể như thế này (O F11):

=IF(B11=B10,F10+1,COUNTIF($B$2:B11,B11))

Hoặc đơn giản hơn:

=COUNTIF($B$2:B3,B3)
 
Lần chỉnh sửa cuối:
Dạ. Cột F là cột e muốn lập công thức. Hiện tại e đánh bằng tay cột F vì ko nghĩ ra công thức. Gài công thức cột F dựa theo mã cột D (Mục Tiêu), tức là cứ 1 mục tiêu mới là đánh số thứ tự lại ạ. Chứ ko đánh số thứ tự luôn tuồng như cột E. Anh chị hiểu ý e ko ạ :.,
Đặt công thức sau
=IF(ISBLANK($D3),"",COUNTIF($D$2:$D3,D3))
rồi fill khi nào chán thì thôi
 
Đúng ra trong Data thì cột mã sẽ không trống hoặc bất kỳ 1 thứ gì khác MA.Còn như các bạn làm thì biết đâu 1 lúc nào đó bạn thích đánh chữ "Cộng:" cho dòng cộng thì sao. Để chắc ăn bạn có 1 cột Mã ở đâu đó và đặt cho nó tên là MA . Lúc này công thức là:

=IF(COUNTIF(MA,D3)=0,"",COUNTIF($D$2:$D3,D3))
 
Đánh mã số tự động

Chào các bạn! Mình có 1 file quản lý đăng ký khai sinh. Mình muốn cột số GKS được đánh số tự động tăng dần khi có phát sinh người đăng ký khai sinh (như trong file đính kèm). Do trình độ thấp nên mãi chưa thực hiện được. Nhờ các bạn giúp mình với.
 

File đính kèm

Cảm ơn bạn đã quan tâm! Cụ thể với file của mình ở cột Số GKS sẽ được đánh số dạng: 3 ký tự đầu là số thứ tự của người được đăng ký trong một năm, sau "/" là năm đăng ký (VD 001/2010; 002/2010...). Với quy định 1 sổ đăng ký được 300 người, nếu số người đăng ký 1 năm >300 thì phải dùng sổ thứ 2, thứ 3.... Vì vậy khi lập công thức mình đã để Số bắt đầu của một sổ (có thể là 1, 301, 601...). Yêu cầu đặt ra của mình là lập công thức cho các ô của cột Số GKS sao cho khi gõ tên người đăng ký ở cột Họ và tên (ở đây là cột C) thì cột số thứ tự sẽ đánh số thứ tự tự động (mình đã làm được đánh số tự động rồi) và cột Số GKS cũng đánh số của người đăng ký tự động dạng 001/2010; 002/2010; 003/2010...110/2010... Nhờ các bạn giúp mình.
 

File đính kèm

Bạn xem như thế này đã đúng ý chưa? có gì trao đổi tiếp.
 

File đính kèm

Cảm ơn bạn nhé! NHư vậy đã theo ý của mình rồi. Chúc bạn buổi tối cuối tuần vui vẻ nhé.

Bạn giúp mình tý nữa nhe. Mình muốn in Giấy khai sinh theo phôi mẫu in sẵn (ban xem file đính kèm) nhưng tương đối "thủ công" Muốn in người nào thì phải nhập số GKS của họ vào ô F3. Các bạn có thể giúp mình để khi cần in GKS của người nào chỉ cần click chuột vào ô chứa Số GKS thì có thể xem kết quả và in luôn được?
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Mình thấy bạn lập công thức trong Sheet In GKS như vậy cũng được rồi mà. Bạn muốn kích chuột vào số GKS là có thể xem và in được ngay là sao vậy? Mình chưa hiểu ý bạn lắm.
 
Cảm ơn bạn! Ý mình muốn thay cho việc phải nhập số GKS của người cần in vào ô F3 và sau đó click chuột vào khung CLICK CHUỘT ĐỂ ĐẾN TRANG IN bằng việc chỉ cần click chuột vào ngay số GKS của người đó tại cột B là làm được việc trên.
 
Vậy thì trên trang In bạn có thể tạo ra một cái List => chỉ cần kích chuột vào ô đã tạo List chọn số GKS của người cần in là có thể xem và in luôn.
 
Bởi vì mình không biết viết code nên không thể làm được việc đó. Các bạn có thể giúp mình việc đó được không?
 

File đính kèm

Cảm ơn các bạn nhiều. Cách của bạn cũng rất hay, nhưng nếu mà làm được việc là chỉ cần click chuột vào ô Số GKS của người cần in tại cột B mà dữ liệu của ô đó trỏ luôn tới ô mà ta đang nhập Số GKS cần in thì hay hơn nhiều.
 
Chào các bạn,

Mình có file excel cần đánh số thứ tự theo nhóm khi cùng mã số

File đính kèm file cho các bạn tham khảo cột K được tô vàng.

Thanks&Regards,
Tâm Bình
bài này có nhiều lắm nhưng vui lòng thử xem ct này xem sao nhé
=IF(COUNTIF($I$1:$I2,$I2)<>1,"",COUNTIF($I$1:$I2,$I2)+MAX($K$1:K1))
 
Các bạn vui lòng giúp mình tạo công thức đánh số thứ tự theo 2 điều kiện MÔN HỌC và LỚP. Cám ơn các bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Các bạn vui lòng giúp mình tạo công thức đánh số thứ tự theo 2 điều kiện MÔN HỌC và LỚP. Cám ơn các bạn.
Gõ vào D6 công thức này:
PHP:
=IF($B6="","",SUMPRODUCT(1*($B$6:$B6&$C$6:$C6=$B6&$C6)))
Bạn nói rằng:
một giáo viên có thể dạy hai môn khác nhau ( sinh, hóa; sử, địa; sử, GDCD…) ở hai khối lớp khác nhau.
Tôi thấy yêu cầu của bạn chẳng liên quan gì đến GIÁO VIÊN cả
 
Cám ơn Bạn ndu nhiều.

Mình đang định Làm LỊCH BÁO GIẢNG chung cho các môn học và mình chỉ có thể lập công thức cố định ở tửng môn thôi, nhưng trong thực tế giáo viên có thể dạy 2 môn sinh và hoá... chẳng hạn.
 
Lần chỉnh sửa cuối:
làm sao để sắp xếp lại số thứ tự tự động sau khi filter

chào anh chị .Em cũng xem các câu trả lời liên quan về đánh số thứ tự sau khi lọc filter rồi, nhưng vẫn chưa hiểu lắm.
chưa làm được. nên anh chị xem file đính kèm,rồi trả lời giúp em với.cảm ơn
 
Đánh số thứ tự từ nhỏ đến lớn theo ngày tháng!

Chào các bạn!
Mình có 1 mẫu thế này, mong các bạn giúp đỡ. Mình muốn ở chỗ ô thứ tự nhập từ nhỏ đến lớn, theo thời gian.
Ví dụ:
Ngày 20/10/2010 số TT là a, ngày 1/11/2010 có số TT là b, ngày 5/11/2010 có số TT là c
Mình muốn kết quả là a<b<c (đáp số ở đây là a =1 , b =2, c =3)
Mong các bạn giúp đỡ!
 

File đính kèm

Nếu đánh số thứ tự theo dạng a,b,c.....nó vượt qua chữ cái z thì đánh sao nữa?
 
Không phải, bạn không hiểu ý mình rồi. bằng số chứ không phải bằng chữ bạn ơi, không thấy đáp số là a = 1, b=2, c=3 hả
 
Không phải, bạn không hiểu ý mình rồi. bằng số chứ không phải bằng chữ bạn ơi, không thấy đáp số là a = 1, b=2, c=3 hả
Bạn thử dùng công thức sau có đúng ý không nhé!
Mã:
=IF(E6="";"";RANK(E6;$E$6:$E$97;1)+COUNTIF($E$6:$E6;E6)-1)
 
Lần chỉnh sửa cuối:
cho mình hỏi vần đề về STT trong sutotal????
vd như mình có file như sau: STT, HỌ TÊN, NGÀY NHẬN, LƯƠNG
mình tạo tổng số phụ theo học tên , lấy sum của lương
giờ mình muốn hỏi có cách nào đánh STT mà Tổng số phụ theo tên ko bị ảnh hưởng,
cứ mỗi tên ta có stt 123..
Vd: STT Họ Tên Ngày nhận Lương
1 A 1/2/10 50
2 A 3/6/10 30
A total 80
1 B 50
2 B 20
B total 70
1 C 10
C Total 10


....... với danh sách dữ liệu mà dài thòng lòng mà ngồi chỉnh STT theo thủ công thì chắc tiêu quá , ai biết thì giúp mình với...
thanksssssssssssssss
 
cho mình hỏi vần đề về STT trong sutotal????
vd như mình có file như sau: STT, HỌ TÊN, NGÀY NHẬN, LƯƠNG
mình tạo tổng số phụ theo học tên , lấy sum của lương
giờ mình muốn hỏi có cách nào đánh STT mà Tổng số phụ theo tên ko bị ảnh hưởng,
cứ mỗi tên ta có stt 123..
Vd: STT Họ Tên Ngày nhận Lương
1 A 1/2/10 50
2 A 3/6/10 30
A total 80
1 B 50
2 B 20
B total 70
1 C 10
C Total 10


....... với danh sách dữ liệu mà dài thòng lòng mà ngồi chỉnh STT theo thủ công thì chắc tiêu quá , ai biết thì giúp mình với...
thanksssssssssssssss
Trước khi thực hiện subtotal, tại ô A2 bạn gõ:=COUNTIF($B$1:B1;B2)+1
sau đó coppi cho các dòng khác
 

File đính kèm

Sửa dùm em code số thứ tự tăng dần

Em có 1 file nhập liệu bằng Form. Em đã viết code cho nó rùi. Nhưng vấn đề em muốn hỏi ở chỗ: Em muốn số thứ tự tăng dần sau khi chọn nút lưu.
(Câu hỏi cụ thể trong file đính kèm)
 

File đính kèm

Hãy làm chuyện đơn giản đi: bỏ textbox STT, gán xuống sheet các textbox khác như cũ, còn STT cột A thì bằng số STT kề trên cộng 1:
PHP:
.Cells(iRow, 1) = .Cells(iRow - 1, i) +1
Còn nếu cứ muốn dùng textbox, nếu suy nghĩ đơn giản thì cũng có cách làm đơn giản: Dùng 1 biến:

Khi mở form: cho biến có giá trị bằng STT của cells(iRow-1, 1) + 1. Gán textbox1 = biến.
Khi nhấn nút: cho biến tăng 1, gán các textbox xuống sheet, xoá hết textbox, riêng textbox1 thì bằng biến đó.
Chuyện không cần đi học cũng làm được.

Còn 1 chuyện cần làm: Kiểm tra mã không được trùng. Phải thấy chuyện cần làm, còn những chuyện khác thì hãy suy nghĩ đơn giản.
 
Lần chỉnh sửa cuối:
Em có 1 file nhập liệu bằng Form. Em đã viết code cho nó rùi. Nhưng vấn đề em muốn hỏi ở chỗ: Em muốn số thứ tự tăng dần sau khi chọn nút lưu.
(Câu hỏi cụ thể trong file đính kèm)
Đúng là bài này không cần phải phức tạp! Như sư phụ Mỹ là được rồi
Ở đây giới thiệu bạn cách khác (không hẳn phức tạp nhưng ít người biết)
1> Code trong CommandButton1_Click của bạn có đoạn
PHP:
Me.Controls("TextBox" & i) = ""
Hãy sửa lại thành:
PHP:
If i > 1 Then Me.Controls("TextBox" & i) = ""
Và thêm vào cuối code 2 dòng:
PHP:
SaveSetting "iNum", "cNum", "Pos", TextBox1.Value
TextBox1.Value = Val(GetSetting("iNum", "cNum", "Pos", 0)) + 1
2> Thêm sự kiện UserForm_Initialize
PHP:
Private Sub UserForm_Initialize()
  TextBox1.Value = Val(GetSetting("iNum", "cNum", "Pos", 0)) + 1
End Sub
 
Tự cập nhật thêm số thứ tự

Em có bài tập này. Em đã có code rùi. Nhưng giờ em muốn khi cập nhật có thêm số thứ tự nữa thì em vẫn chưa làm được. Em nhờ AC bổ xung thêm dùm em nhé!
PHP:
Option Explicit
Sub cap_nhat()
    Dim eR As Long
    eR = S2.Range("B65535").End(xlUp).Row + 1
    With S2
        .Cells(eR, 1).Resize(, 3) = S1.Range("A2:C2").Value
    End With
    S1.Range("A2:C2").ClearContents
End Sub
 

File đính kèm

Em có bài tập này. Em đã có code rùi. Nhưng giờ em muốn khi cập nhật có thêm số thứ tự nữa thì em vẫn chưa làm được. Em nhờ AC bổ xung thêm dùm em nhé!
PHP:
Option Explicit
Sub cap_nhat()
    Dim eR As Long
    eR = S2.Range("B65535").End(xlUp).Row + 1
    With S2
        .Cells(eR, 1).Resize(, 3) = S1.Range("A2:C2").Value
    End With
    S1.Range("A2:C2").ClearContents
End Sub
Bạn thử xem thế nào.
PHP:
Sub cap_nhat()
    Dim eR As Long
    eR = S2.Range("B65535").End(xlUp).Row + 1
    With S2
        .Cells(eR, 2).Resize(, 3) = S1.Range("A2:C2").Value
         .Range("A2").Value = "=+IF(RC[1]="""","""",MAX(R1C1:R[-1]C)+1)"
      .Range("A2").AutoFill Destination:=.Range("A2:A100")
      .Range("A2:A100").Copy
     .Range("A2").PasteSpecial Paste:=xlPasteValues
    End With
    S1.Range("A2:C2").ClearContents
End Sub
 
Bạn thử xem thế nào.
PHP:
Sub cap_nhat()
    Dim eR As Long
    eR = S2.Range("B65535").End(xlUp).Row + 1
    With S2
        .Cells(eR, 2).Resize(, 3) = S1.Range("A2:C2").Value
         .Range("A2").Value = "=+IF(RC[1]="""","""",MAX(R1C1:R[-1]C)+1)"
      .Range("A2").AutoFill Destination:=.Range("A2:A100")
      .Range("A2:A100").Copy
     .Range("A2").PasteSpecial Paste:=xlPasteValues
    End With
    S1.Range("A2:C2").ClearContents
End Sub

Code này của bạn được rùi. Nhưng mình thấy có dùng cái này nữa: Evaluate("ROW(R:R)"), mình đã làm thế này mà vẫn chưa được.
PHP:
Sub cap_nhat()
    Dim eR As Long
    eR = S2.Range("B65535").End(xlUp).Row + 1
    With S2
        .Cells(eR, 2).Resize(, 3) = S1.Range("A2:C2").Value
        .Cells(eR, 1) = Evaluate("ROW(R:R)")
    End With
    S1.Range("A2:C2").ClearContents
End Sub
Không biết sai chỗ nào nữa mà vẫn chưa Ok đó!
 
cái này mình e không đuợc :
PHP:
.Cells(eR, 1) = Evaluate("ROW(R:R)")
Bạn thử xem cái này xem sao?

PHP:
Sub cap_nhat()
    Dim eR As Long
    eR = S2.Range("B65535").End(xlUp).Row + 1
    With S2
        .Cells(eR, 2).Resize(, 3) = S1.Range("A2:C2").Value
        Dim i
        For i = 2 To eR
        .Cells(i, 1) = i - 1
        Next i
    End With
    S1.Range("A2:C2").ClearContents
End Sub
 
Code này của bạn được rùi. Nhưng mình thấy có dùng cái này nữa: Evaluate("ROW(R:R)"), mình đã làm thế này mà vẫn chưa được.
PHP:
Sub cap_nhat()
Dim eR As Long
eR = S2.Range("B65535").End(xlUp).Row + 1
With S2
.Cells(eR, 2).Resize(, 3) = S1.Range("A2:C2").Value
.Cells(eR, 1) = Evaluate("ROW(R:R)")
End With
S1.Range("A2:C2").ClearContents
End Sub
Không biết sai chỗ nào nữa mà vẫn chưa Ok đó!

Bạn sửa lại dòng:
PHP:
.Cells(eR, 1) = Evaluate("ROW(R:R)")
thành:
PHP:
.Range(.[B2], .[B65535].End(xlUp)).Offset(, -1) = Evaluate("ROW(R:R)")
xem sao nhé!
 
Sửa dùm em code đánh số thứ tự

Em có 1 file đã viết code chèn số tự động. Nhưng không hiểu sao nó vẫn không cho kết quả theo ý muốn. AC hoàn thiện dùm em nhé!
Code là:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim WF
    Dim i As Long
    Set WF = Application.WorksheetFunction
    i = Range("B65535").End(xlUp).Row
    If Not Intersect(Range("B10:B" & i), Target) Is Nothing Then
        Range("A" & i).Formula = WF.Count(Range("A11:A" & i)) + 1
    End If
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Không tự động chèn số thứ tự

Em có file này, em viết code rùi nhưng không hiểu sao nó vẫn không tự động đánh số thứ tự được. AC xem và hoàn thiện dùm em nhé!

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Max As Integer
    Dim eR As Long, i As Long
    If Target.Address = "$F$1" Then
        Range("A5:E65535").ClearContents
        With S1.Range(S1.[A1], S1.[A65535].End(xlUp))
            .AutoFilter 1, Target
            .Offset(1, 1).Resize(, 4).SpecialCells(12).Copy Range("B5")
            .AutoFilter
        End With
        With S3
        For i = 5 To .Range("A65535").End(xlUp).Row
            Max = Application.WorksheetFunction.Max(Range("A4:A" & i))
            .Cells(i, 1) = Max + 1
            .Cells(i, 1).HorizontalAlignment = xlCenter
        Next
        End With
    End If
End Sub
 

File đính kèm

Em có file này, em viết code rùi nhưng không hiểu sao nó vẫn không tự động đánh số thứ tự được. AC xem và hoàn thiện dùm em nhé!

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Max As Integer
Dim eR As Long, i As Long
If Target.Address = "$F$1" Then
Range("A5:E65535").ClearContents
With S1.Range(S1.[A1], S1.[A65535].End(xlUp))
.AutoFilter 1, Target
.Offset(1, 1).Resize(, 4).SpecialCells(12).Copy Range("B5")
.AutoFilter
End With
With S3
For i = 5 To .Range("A65535").End(xlUp).Row
Max = Application.WorksheetFunction.Max(Range("A4:A" & i))
.Cells(i, 1) = Max + 1
.Cells(i, 1).HorizontalAlignment = xlCenter
Next
End With
End If
End Sub
Mình nghĩ trước khi chạy code bạn đã xóa vùng Ạ:E65535 (trong đó có cột A)
Vậy For i = 5 To .Range("A65535").End(xlUp).Row (nghĩa là i chạy từ 5 đến 4 ) ---> không tự đánh số TT được
(bạn thử sửa For i = 5 To .Range("B65535").End(xlUp).Row xem sao)
Chúc bạn thành công
 
Bạn thử code này xem có được không ?
Mã:
Sub Stt()
    With Range("B5:B" & [b65536].End(3).Row).Offset(, -1)
        .Value = "=IF(RC[1]=0,"""",COUNTA(R5C2:RC[1]))"
        .Value = .Value
    End With
End Sub
 

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

Back
Top Bottom