Thắc mắc học tập về VBA

Liên hệ QC

Doan Phan Thanh

Thành viên mới
Tham gia
30/5/21
Bài viết
7
Được thích
0
Em đang trong quá trình học VBA nhưng đang gặp khó khăn. Mong mọi người giúp đỡ em với ạ. Em cảm ơn ạ.
 
Lần chỉnh sửa cuối:
Em đang trong quá trình học VBA nhưng đang gặp khó khăn trong bài này ạ. Mong mọi người giúp đỡ em với ạ. Em cảm ơn ạ. Mô tả: - Khi người dùng bấm nút "Xử lý Số Liệu" thì các bạn cần xử lý để đưa được toàn bộ dữ liệu ở bảng số liệu bên trái --> đưa vào bảng kết quả bắt đầu từ cột "J1" bên phải. - Giá trị ở cột đầu tiên bên trái sẽ được đưa vào ô J1 đầu tiên và giá trị thứ 2 đưa vào ô K2 (đưa theo hàng ngang), lấy giá trị từ trên xuống dưới theo bảng bên trái). - Giá trị ở các cột trong kết quả chỉ chứa các giá trị ko chứa khoảng trống như ở bảng dữ liệu.
Dùng: lastrow, if,...
Như vậy là bạn hướng dẫn cho mọi người cách thực hiện rồi, còn gì để giúp đỡ đâu bạn nhỉ.
 
Upvote 0
Chủ bài đăng này viết chưa chính xác ở chỗ:

(1)
- Giá trị ở cột đầu tiên bên trái sẽ được đưa vào ô J1 đầu tiên
Trong cột đầu tiên của bảng dữ liệu có hơn 15 giá trị; & iêu cầu đưa hết vô [J1] (?)

(2)
. . J1 đầu tiên và giá trị thứ 2 đưa vào ô K2 (đưa theo hàng ngang),. . .
Trị đầu tiên đưa vô [J1] & trị kế tiếp đưa vô [K2] mà lại chú thích là đưa vô hàng ngang, đến chịu (!)

(3)? Vậy giá trị thứ 3 của cột đầu đưa vô [L3] (?) & như vậy giống như đưa vô theo đường chéo mà, đâu phải đưa ngang.
[Phải có 3 điểm mới biết đường mà đi chứ bạn.]
 
Upvote 0
Chủ bài đăng này viết chưa chính xác ở chỗ:
(1)
Trong cột đầu tiên của bảng dữ liệu có hơn 15 giá trị; & iêu cầu đưa hết vô [J1] (?)
(2)
Trị đầu tiên đưa vô [J1] & trị kế tiếp đưa vô [K2] mà lại chú thích là đưa vô hàng ngang, đến chịu (!)
(3)? Vậy giá trị thứ 3 của cột đầu đưa vô [L3] (?) & như vậy giống như đưa vô theo đường chéo mà, đâu phải đưa ngang.
[Phải có 3 điểm mới biết đường mà đi chứ bạn.]
Em còn chưa đọc hết, chỉ thấy nói thắc mắc học tập về VBA nhưng lại chưa viết một dòng code nào cả nên không hiểu thắc mắc cái gì anh ạ.
 
Upvote 0
Chủ bài đăng này viết chưa chính xác ở chỗ:

(1)
Trong cột đầu tiên của bảng dữ liệu có hơn 15 giá trị; & iêu cầu đưa hết vô [J1] (?)

(2)
Trị đầu tiên đưa vô [J1] & trị kế tiếp đưa vô [K2] mà lại chú thích là đưa vô hàng ngang, đến chịu (!)

(3)? Vậy giá trị thứ 3 của cột đầu đưa vô [L3] (?) & như vậy giống như đưa vô theo đường chéo mà, đâu phải đưa ngang.
[Phải có 3 điểm mới biết đường mà đi chứ bạn.]
úi em viết nhầm ấy ạ em đã sửa lại r ạ
Bài đã được tự động gộp:

Em còn chưa đọc hết, chỉ thấy nói thắc mắc học tập về VBA nhưng lại chưa viết một dòng code nào cả nên không hiểu thắc mắc cái gì anh ạ.
dạ em hiểu được trong bài cần phải thực hiện những dì, mà em lại không pik viết bắt đầu từ đâu ạ. Mong anh có thể giúp đỡ ạ.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử với thứ ni, mong trời phù hộ cho chúng ta:
PHP:
Sub ChuyenBangDuLieu()
 Dim Rws As Long, J As Long, W As Integer
 Dim Rng As Range, Cls As Range, Rg0 As Range
 
 Set Rng = Range([B2], [D24])
 Set Rg0 = [j1]:                    [I12].CurrentRegion.Offset(, 1).ClearContents
 For J = 1 To 3
    W = 0
    For Each Cls In Rng(J).Resize(Rng.Rows.Count)
        If Cls.Value <> Space(0) Then
            Rg0.Offset(J - 1, W).Value = Cls.Value
            W = W + 1
        End If
    Next Cls
 Next J
End Sub
 
Upvote 0
úi em viết nhầm ấy ạ em đã sửa lại r ạ
Bài đã được tự động gộp:

dạ em hiểu được trong bài cần phải thực hiện những , mà em lại không pik viết bắt đầu từ đâu ạ. Mong anh có thể giúp đỡ ạ.
Đầu tiên bạn phải ôn lại kiến thức về Tiếng Việt trước đã.
 
Upvote 0
Bạn thử với thứ ni, mong trời phù hộ cho chúng ta:
PHP:
Sub ChuyenBangDuLieu()
 Dim Rws As Long, J As Long, W As Integer
 Dim Rng As Range, Cls As Range, Rg0 As Range
 
 Set Rng = Range([B2], [D24])
 Set Rg0 = [j1]:                    [I12].CurrentRegion.Offset(, 1).ClearContents
 For J = 1 To 3
    W = 0
    For Each Cls In Rng(J).Resize(Rng.Rows.Count)
        If Cls.Value <> Space(0) Then
            Rg0.Offset(J - 1, W).Value = Cls.Value
            W = W + 1
        End If
    Next Cls
 Next J
End Sub
anh ơi cho em hỏi nếu em sử dụng lastrow để tìm được dữ liệu cuối cùng thì phải làm như nào ạ
Bài đã được tự động gộp:

Đầu tiên bạn phải ôn lại kiến thức về Tiếng Việt trước đã.
anh gắt quá ạ. em chỉ muốn bổ túc kiến thức thôi ạ.
 
Upvote 0
anh ơi cho em hỏi nếu em sử dụng lastrow để tìm được dữ liệu cuối cùng thì phải làm như nào ạ
Muốn tìm dòng cuối của 1 cột hay 1 vùng dữ liệu đều có thể xài phương thức FIND("*"); Có 1 bài tổng quan về phương thức này của DĐ mà bạn nên đọc
 
Upvote 0
anh ơi cho em hỏi nếu em sử dụng lastrow để tìm được dữ liệu cuối cùng thì phải làm như nào ạ
Bài đã được tự động gộp:

em chỉ muốn bổ túc kiến thức thôi ạ.
Bạn không muốn kiến thức của bạn tốt hơn thì tùy bạn thôi.
 
Upvote 0
Muốn tìm dòng cuối của 1 cột hay 1 vùng dữ liệu đều có thể xài phương thức FIND("*"); Có 1 bài tổng quan về phương thức này của DĐ mà bạn nên đọc
Nếu em muốn để dữ liệu trên cùng 1 hàng (tức là ở cột thứ 2 của bảng dữ liệu sẽ được viết tiếp sau ô cuối cùng của cột đầu tiên) mình có cần phải tạo thêm một vòng lặp mới không ạ
 
Upvote 0
/(hông cần; mà:
a./ Vô hiệu hóa dòng lệnh mình vừa gán số 4 đi;
b./ Sửa dòng lệnh mang số 7 thành
Mã:
Rg0.Offset(, 1 + W).Value = Cls.Value   '** '
 
Upvote 0
Bạn không muốn kiến thức của bạn tốt hơn thì tùy bạn thôi.
Có thể định nghĩa "kiến thức" của người ta khác bạn.
Tôi chỉ có câu thắc mắc của mấy năm liên lạc trên GPE là:
- Đã đi hỏi bài thì tại sao không chịu khó học hỏi cách nói chuyện dễ hiểu, dễ được chấp nhận bởi mọi tầng lớp?
Học kỹ năng này thì mất gì?

Lỗi đó bạn tự sửa đi & tạm biệt bạn!
Kiên nhẫn cũng cói giới hạn hở :p
 
Upvote 0
- Đã đi hỏi bài thì tại sao không chịu khó học hỏi cách nói chuyện dễ hiểu, dễ được chấp nhận bởi mọi tầng lớp?
Học kỹ năng này thì mất gì?
Mất gì? Một điều đơn giản mà ông này cũng không hiểu thì bó tay.

Ừ thì học bỏ pik, và viết tường minh là xyz. Học đến mức nửa đêm có ai tát cho tỉnh dậy cũng bật ra xyz thay cho pik. Lúc này thì lên GPE ngon rồi. Nhưng đã là thói quen thì khi chát chít, bình luận trên mạng lại bật ra xyz. Lúc này các bạn chát lại không hiểu xyz là gì. Họ lại ném đá. Gió chiều nào cũng tạt thẳng vào mặt. :D.
 
Upvote 0
Web KT

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

Back
Top Bottom