Viết Code Trừ Ngày Tháng Năm | Giải Pháp Excel
Có thể bạn quan tâm
- Trang chủ Có gì mới Hoạt động gần nhất Tác giả
- Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
- Video
Video về Excel Video về tin học khác Tin tức về tin học chung - Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
- Tài nguyên Đánh giá mới nhất Tìm tài nguyên
- Đóng góp
Tìm kiếm
Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Tìm kiếm Tìm nâng cao…- Tìm bài viết mới
- Tìm theo chuyên mục
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
- Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
- Trang chủ
- Diễn đàn
- Lập Trình với Excel
- Thread starter Thread starter huy vu
- Ngày gửi Ngày gửi 9/8/14
Người dùng đang xem chủ đề này
Đang trực tuyến: 2 (Thành viên: 0, Khách: 2) Hhuy vu
Thành viên hoạt động


Tham gia 29/2/12 Bài viết 164 Được thích 1 Viết code lùi ngày tháng năm Em chào các anh/chị trên GPE! Em có bảng số liệu có 1 trường Ngay (cột B) đang định dang Text và nội dung là mm/yy Em muốn trừ đi 5 năm tại trường Ngay1 (Cột C) và đang phải dùng công thức là: =DATE(20&RIGHT($B2,2)-5,LEFT($B2,2),1) và định dạng là dd/yyyy Em muốn hỏi đoạn code để thay thế cho hàm này và tự động cập nhật mỗi khi trường ngày thêm dữ liệu mới Em xin cảm ơn! File đính kèm
- NgayThangNam.xlsm NgayThangNam.xlsm 11.7 KB · Đọc: 38
Ba Tê
Cạo Rồi Khỏi Gội
Tham gia 5/5/09 Bài viết 12,123 Được thích 17,590 Giới tính NamHuy Vũ đã viết: Em chào các anh/chị trên GPE! Em có bảng số liệu có 1 trường Ngay (cột B) đang định dang Text và nội dung là mm/yy Em muốn trừ đi 5 năm tại trường Ngay1 (Cột C) và đang phải dùng công thức là: =DATE(20&RIGHT($B2,2)-5,LEFT($B2,2),1) và định dạng là dd/yyyy Em muốn hỏi đoạn code để thay thế cho hàm này và tự động cập nhật mỗi khi trường ngày thêm dữ liệu mới Em xin cảm ơn! Nhấp chuột vào đây để mở rộng...Chép Sub này vào cửa sổ soạn thảo VBA của Sheet1 thử xem. [GPECODE=vb] Private Sub Worksheet_Change(ByVal Target As Range) Dim Cll As Range If Target.Column = 2 Then If Target.Columns.Count = 1 Then For Each Cll In Target Cll.Offset(, 1).Value = DateSerial(Right(Cll, 2) - 5, Left(Cll, 2), 1) Next Cll End If End If End Sub[/GPECODE] Upvote 0 H
huy vu
Thành viên hoạt động


Tham gia 29/2/12 Bài viết 164 Được thích 1 Ba Tê đã viết: .... Cll.Offset(, 1).Value = DateSerial(Right(Cll, 2) - 5, Left(Cll, 2), 1) Next Cll End If End If End Sub[/GPECODE] Nhấp chuột vào đây để mở rộng...Quá nhanh và mạnh ạ, em cảm ơn anh Cho em hỏi thêm chút Như vậy trong VBA thì DateSerial tương đương với hàm Date ngoài bảng tính ạ? Upvote 0
Ba Tê
Cạo Rồi Khỏi Gội
Tham gia 5/5/09 Bài viết 12,123 Được thích 17,590 Giới tính NamHuy Vũ đã viết: Quá nhanh và mạnh ạ, em cảm ơn anh Cho em hỏi thêm chút Như vậy trong VBA thì DateSerial tương đương với hàm Date ngoài bảng tính ạ? Nhấp chuột vào đây để mở rộng...Thấy cái gì lạ lạ cứ vào cửa sổ soạn thảo VBA, gõ F1 mà xem. Ví dụ: gõ DateSerial, tô chọn chữ đó, ấn F1. Ngâm cứu thoải mái, chỉ khi nào không hiểu hãy hỏi trên GPE. Upvote 0
Cá ngừ F1
( ͡° ͜ʖ ͡°)
Thành viên BQT Moderator Tham gia 1/1/08 Bài viết 2,580 Được thích 3,723 Donate (Momo)
Giới tính Nam Nghề nghiệp Quan hệ.. và quan hệ.. Nếu bạn muốn đưa vào Module thử code này [GPECODE=vb]Sub Ngay2() Dim NgayDH(), i As Long, Ngay() With Sheet1 NgayDH = Range(.[B2], .[B65536].End(3)) ReDim Ngay(1 To UBound(NgayDH), 1 To 1) End With For i = 1 To UBound(NgayDH) Ngay(i, 1) = DateSerial(Right(NgayDH(i, 1), 2) - 5, Left(NgayDH(i, 1), 2), 1) Next Sheet1.[D2].Resize(i - 1, 1) = Ngay End Sub[/GPECODE] Mỗi lần có dữ liệu mới thì chạy code Lần chỉnh sửa cuối: 10/8/14 Upvote 0 H huy vu
Thành viên hoạt động


Tham gia 29/2/12 Bài viết 164 Được thích 1 Cả 2 cách đều chạy tốt. Em xin cảm ơn! Upvote 0 Cá ngừ F1
( ͡° ͜ʖ ͡°)
Thành viên BQT Moderator Tham gia 1/1/08 Bài viết 2,580 Được thích 3,723 Donate (Momo)
Giới tính Nam Nghề nghiệp Quan hệ.. và quan hệ.. Cá ngừ F1 đã viết: Nếu bạn muốn đưa vào Module thử code này [GPECODE=vb]Sub Ngay2() Dim NgayDH(), i As Long, Ngay() With Sheet1 NgayDH = Range(.[B2], .[B65536].End(3)) ReDim Ngay(1 To UBound(NgayDH), 1 To 1) End With For i = 1 To UBound(NgayDH) Ngay(i, 1) = DateSerial(Right(NgayDH(i, 1), 2) - 5, Left(NgayDH(i, 1), 2), 1) Next Sheet1.[D2].Resize(i - 1, 1) = Ngay End Sub[/GPECODE] Mỗi lần có dữ liệu mới thì chạy code Nhấp chuột vào đây để mở rộng...Để bẫy lỗi thêm câu lệnh Mã: Sao chép. On Error Resume Next ở đầu thủ tục, vì nếu ngày mà không có dữ liệu thì code báo lỗi ngay. Upvote 0 V
vinhytexp
Thành viên mới 
Tham gia 16/6/16 Bài viết 13 Được thích 0 Ba Tê đã viết: Chép Sub này vào cửa sổ soạn thảo VBA của Sheet1 thử xem. [GPECODE=vb] Private Sub Worksheet_Change(ByVal Target As Range) Dim Cll As Range If Target.Column = 2 Then If Target.Columns.Count = 1 Then For Each Cll In Target Cll.Offset(, 1).Value = DateSerial(Right(Cll, 2) - 5, Left(Cll, 2), 1) Next Cll End If End If End Sub[/GPECODE] Nhấp chuột vào đây để mở rộng...Em làm theo bác Ba tê, khi bấm F5 để chạy thì hiện lên macro Name nghĩa là sao vậy bác Upvote 0 Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây.
Bài viết mới nhất
T Biểu đồ trong excel- thanhduy08
- Hôm nay lúc 10:59
- Excel và Các Biểu Đồ
- phuongnam366377
- 28/2/26
- Excel và các ngôn ngữ lập trình khác
- Nhyyyyyyyyy
- Thứ năm lúc 10:22
- Những vấn đề chung
- hieuhus
- Hôm qua, lúc 18:08
- Excel và các ngôn ngữ lập trình khác
- tangoctuan
- Hôm qua, lúc 11:36
- Hàm và công thức Excel
- Question Question
- vova2209
- 6/3/26
- Lập Trình với Excel
- adua29
- 9/4/21
- Excel Ứng Dụng
- Đã giải quyết
- HeSanbi
- 18/4/21
- Lập Trình với Excel
- luckily1766
- Thứ sáu lúc 16:06
- Hàm và công thức Excel
- SA_DQ
- 3/11/25
- Chia sẻ
- MinhKhai
- 4/3/26
- Cơ sở dữ liệu
- katanvn
- 4/3/26
- Excel Ứng Dụng
- Question Question
- ongke0711
- 6/10/24
- Lập Trình với Excel
- Question Question
- HeSanbi
- 26/2/26
- Lập Trình với Excel
- nguyenlamthumua
- Thứ năm lúc 18:12
- Những vấn đề chung
- huuthang_bd
- 30/12/13
- Xây dựng ứng dụng.
- hoanghanh80
- 31/5/24
- Hàm và công thức Excel
- SA_DQ
- 3/3/26
- Chơi Game với Excel
- gpe.vn
- 17/6/24
- Xây dựng ứng dụng.
- estudyvn
- 22/4/19
- Học tập Online
Thành viên có số lượng bài viết cao nhất tháng
- vova2209 13
- phuongnam366377 12
- Maika8008 11
- SA_DQ 8
- HeSanbi 8
- HUONGHCKT 7
- ongke0711 6
- adua29 6
- levant0908 5
- katanvn 5
- chothadiem 4
- vanphong1980 3
- A-T 3
- pycckuu410 3
- PhanTuHuong 3
- chienminhanh 3
- gpe.vn 3
- MinhKhai 3
- le_vis 3
- ptm0412 3
Thành viên có điểm tương tác cao nhất tháng
- Maika8008 17
- HUONGHCKT 14
- SA_DQ 12
- katanvn 7
- GPE-Trợ Lý 6
- HieuCD 6
- PhanTuHuong 4
- le_vis 4
- HeSanbi 3
- phuongnam366377 3
- ptm0412 3
- yeudoi 2
- vietdang170 2
- vunl 2
- Gà Con yêu VBA 2
- adua29 2
- kHOA1973 1
- ThuyMay93 1
- mafiana 1
- huhumalu 1
Thời gian đếm ngược.
000 Ngày 00 Giờ 00 phút 00 giây Thân mời tham dự sự kiện sinh nhật GPE 2025- Trang chủ
- Diễn đàn
- Lập Trình với Excel
- Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Từ khóa » Trừ Ngày Tháng Trong Vba
-
Các Hàm Xử Lý Ngày Tháng Trong VBA (Date & Time)
-
Hàm Xử Lý Date Và Time Trong VBA - VietTuts
-
Hướng Dẫn Cách Sử Dụng Hàm DATEDIFF Trong VBA Excel
-
Cách Cộng Trừ Ngày, Tháng, Năm Trong Excel
-
Trừ Một Ngày Trong VBA? - HelpEx
-
Macro VBA – Date And Time (Ngày Và Giờ) - Excel Cơ Bản
-
Cách Cộng Trừ Ngày, Tháng, Năm Trong Excel (phần 1)
-
Trừ Ngày Trong Excel, Tính Khoảng Cách Giữa Hai Thời điểm Trong Excel
-
Hướng Dẫn Cách Trừ Ngày, Tháng, Năm Trong Excel
-
Cách Nhập Ngày Tháng Nhanh Trong Excel Đúng ...
-
TEXT (Hàm TEXT) - Microsoft Support
-
Hàm DateAdd - Microsoft Support
-
Hướng Dẫn Cách Cộng - Trừ Ngày Tháng Năm Trong Excel - Unica