xin code VBA hoặc hướng dẫn tìm dòng cuối và ghi giá trị

Liên hệ QC

nguyenkhoiffc

Thành viên mới
Tham gia
6/10/21
Bài viết
16
Được thích
1
Mình tự mò VBA cho thực tế nhu cầu của mình. Các bạn vui lòng cho mình xin code VBA như sau:
1/ Tab Form mình sẽ làm thêm nút xóa giá trị hiện hành của tab.
Nhấn nút cập nhật, các thông tin điền vào ở tab form sẽ được điền vào mục tương ứng của 2 tab còn lại.
  • Khi nhấn cập nhật dữ liệu mới, các thông tin điền vào sẽ được cập nhật vô 2 tab còn lại (sẽ được tự động điền ở các dòng tiếp theo dòng đã có dữ liệu).
Để đỡ tốn thời gian, các bạn có thể làm cho cập nhật 1 sheet thôi mình sẽ tự copy mày mò cho sheet còn lại.

2/ Mục Link ở các dòng thông tin của tab Main Sell sẽ link đến dòng tương ứng trong tab details.
  • Nút hoặc hyperlink này nếu tự động sinh ra thì quá tốt, không thì cho mình xin code 1 dòng rồi mình tự copy sửa lại cho các dòng tiếp theo.

Cảm ơn các bạn trước nhé.
 

File đính kèm

  • test.xlsm
    5.4 MB · Đọc: 12
Lần chỉnh sửa cuối:
Mình tự mò VBA cho thực tế nhu cầu của mình. Các bạn vui lòng cho mình xin code VBA như sau:
1/ nhấn nút cập nhật, các thông tin điền vào ở tab form sẽ được điền vào mục tương ứng của 2 tab còn lại.
  • các thông tin điền vào ở 2 tab còn lại sẽ được tự động điền ở các dòng tiếp theo.
2/ Mục Link ở các dòng thông tin của tab Main Sell sẽ link đến dòng tương ứng trong tab details.
  • Nút hoặc hyperlink này nếu tự động sinh ra thì quá tốt, không thì cho mình xin code 1 dòng rồi mình tự copy sửa lại cho các dòng tiếp theo.

Cảm ơn các bạn trước nhé.
Theo tôi bạn nên điền một vài dòng kết quả mong muốn ở trên các Sh. và ghi rõ là lấy từ dòng nào, ô nào của sh nào mà có, hay chí ít là quy luật. Tôi tin rằng sẽ có nhiều người giúp bạn.
 
Upvote 0
Theo tôi bạn nên điền một vài dòng kết quả mong muốn ở trên các Sh. và ghi rõ là lấy từ dòng nào, ô nào của sh nào mà có, hay chí ít là quy luật. Tôi tin rằng sẽ có nhiều người giúp bạn.
Cảm ơn bạn đã quan tâm và góp ý. Mình đã sửa lại câu hỏi cho rõ ràng hơn và cũng thêm chú thích trong file excel.

Mong rằng có nhiều bạn quan tâm giúp đỡ :)
 
Upvote 0
Cảm ơn bạn đã quan tâm và góp ý. Mình đã sửa lại câu hỏi cho rõ ràng hơn và cũng thêm chú thích trong file excel.

Mong rằng có nhiều bạn quan tâm giúp đỡ :)
Làm theo ý hiểu của bản thân. Dữ liệu được điền vào dòng cuối của table1,table2 .
 

File đính kèm

  • test.xlsm
    5.4 MB · Đọc: 15
Upvote 0
Làm theo ý hiểu của bản thân. Dữ liệu được điền vào dòng cuối của table1,table2 .
Cảm ơn bạn rất nhiều. Mình sẽ mày mò trên nền tảng bạn đã giúp.
Với code của bạn, dữ liệu được ghi vào dòng cuối của table. Khi mình xóa table đi thì đúng yêu cầu của mình là dán dữ liệu ngay dòng đầu tiên dưới các tiêu đề. Bạn có thể giải thích tại sao không bạn? :)
 
Upvote 0
Cảm ơn bạn rất nhiều. Mình sẽ mày mò trên nền tảng bạn đã giúp.
Với code của bạn, dữ liệu được ghi vào dòng cuối của table. Khi mình xóa table đi thì đúng yêu cầu của mình là dán dữ liệu ngay dòng đầu tiên dưới các tiêu đề. Bạn có thể giải thích tại sao không bạn? :)
Đơn giản chỉ là tìm thấy dòng cuối của sh cần gán dữ liệu và gán vào thôi
Các dòng code
........
KQ(1, 1) = Arr(1, 1)
KQ(1, 2) = Arr(2, 1)
.........
KQ2(1, 1) = Arr(1, 1)
KQ2(1, 2) = Arr(3, 1)
........

là gán mảng dữ liệu trên Sh Form vào mảng KQ, KQ2
.......
Các dòng code
With Sheets("Main_Sell")
Lr = .Cells(Rows.Count, 2).End(xlUp).Row
.Cells(Lr + 1, 2).Resize(1, 5) = KQ
End With

để gán từ mảng xuống sh được chỉ định. Lr là tìm dòng cuối của sh được chỉ định
 
Upvote 0
Mình tự mò VBA cho thực tế nhu cầu của mình. Các bạn vui lòng cho mình xin code VBA như sau:
1/ Tab Form mình sẽ làm thêm nút xóa giá trị hiện hành của tab.
Nhấn nút cập nhật, các thông tin điền vào ở tab form sẽ được điền vào mục tương ứng của 2 tab còn lại.
  • Khi nhấn cập nhật dữ liệu mới, các thông tin điền vào sẽ được cập nhật vô 2 tab còn lại (sẽ được tự động điền ở các dòng tiếp theo dòng đã có dữ liệu).
Để đỡ tốn thời gian, các bạn có thể làm cho cập nhật 1 sheet thôi mình sẽ tự copy mày mò cho sheet còn lại.

2/ Mục Link ở các dòng thông tin của tab Main Sell sẽ link đến dòng tương ứng trong tab details.
  • Nút hoặc hyperlink này nếu tự động sinh ra thì quá tốt, không thì cho mình xin code 1 dòng rồi mình tự copy sửa lại cho các dòng tiếp theo.

Cảm ơn các bạn trước nhé.
Theo code bài #4, tôi làm thêm cho bạn chức năng link.
P/S: bạn không nên dùng table nếu không thực sự cần thiết vì sẽ làm file phình dung lượng (file bạn hơn 5MB rồi đó)
 

File đính kèm

  • Hyperlink_nguyenkhoiffc.zip
    800.8 KB · Đọc: 14
Upvote 0
Đơn giản chỉ là tìm thấy dòng cuối của sh cần gán dữ liệu và gán vào thôi
Các dòng code
........
KQ(1, 1) = Arr(1, 1)
KQ(1, 2) = Arr(2, 1)
.........
KQ2(1, 1) = Arr(1, 1)
KQ2(1, 2) = Arr(3, 1)
........

là gán mảng dữ liệu trên Sh Form vào mảng KQ, KQ2
.......
Các dòng code
With Sheets("Main_Sell")
Lr = .Cells(Rows.Count, 2).End(xlUp).Row
.Cells(Lr + 1, 2).Resize(1, 5) = KQ
End With

để gán từ mảng xuống sh được chỉ định. Lr là tìm dòng cuối của sh được chỉ định
Rất cảm ơn bạn đã nhiệt tình giúp và giải thích giúp mình.
Bài đã được tự động gộp:


Bài đã được tự động gộp:

Theo code bài #4, tôi làm thêm cho bạn chức năng link.
P/S: bạn không nên dùng table nếu không thực sự cần thiết vì sẽ làm file phình dung lượng (file bạn hơn 5MB rồi đó)
Cảm ơn bạn rất nhiều :)
Bài đã được tự động gộp:

Mình tự mò VBA cho thực tế nhu cầu của mình. Các bạn vui lòng cho mình xin code VBA như sau:
1/ Tab Form mình sẽ làm thêm nút xóa giá trị hiện hành của tab.
Nhấn nút cập nhật, các thông tin điền vào ở tab form sẽ được điền vào mục tương ứng của 2 tab còn lại.
  • Khi nhấn cập nhật dữ liệu mới, các thông tin điền vào sẽ được cập nhật vô 2 tab còn lại (sẽ được tự động điền ở các dòng tiếp theo dòng đã có dữ liệu).
Để đỡ tốn thời gian, các bạn có thể làm cho cập nhật 1 sheet thôi mình sẽ tự copy mày mò cho sheet còn lại.

2/ Mục Link ở các dòng thông tin của tab Main Sell sẽ link đến dòng tương ứng trong tab details.
  • Nút hoặc hyperlink này nếu tự động sinh ra thì quá tốt, không thì cho mình xin code 1 dòng rồi mình tự copy sửa lại cho các dòng tiếp theo.

Cảm ơn các bạn trước nhé.

Chân thành cảm ơn hai bạn Maika8008 và HUONGHCKT đã nhiệt tình giúp đỡ. Mình sẽ cố gắng tiếp thu hết sức có thể :type:. :)
 
Lần chỉnh sửa cuối:
Upvote 0
Đơn giản chỉ là tìm thấy dòng cuối của sh cần gán dữ liệu và gán vào thôi
Các dòng code
........
KQ(1, 1) = Arr(1, 1)
KQ(1, 2) = Arr(2, 1)
.........
KQ2(1, 1) = Arr(1, 1)
KQ2(1, 2) = Arr(3, 1)
........

là gán mảng dữ liệu trên Sh Form vào mảng KQ, KQ2
.......
Các dòng code
With Sheets("Main_Sell")
Lr = .Cells(Rows.Count, 2).End(xlUp).Row
.Cells(Lr + 1, 2).Resize(1, 5) = KQ
End With

để gán từ mảng xuống sh được chỉ định. Lr là tìm dòng cuối của sh được chỉ định
Hi, bạn có thể giải thích giúp mình thắc mắc sau ko:
Câu lệnh ReDim KQ(1 To 1, 1 To 5) , theo mình hiểu là bạn khai báo biến KQ có 1 dòng 5 cột nhưng cụ thể hơn thì sao?
- ý nghĩa của 1 to 1
- ý nghĩa của 1 to 5

Thank bạn nhiều
 
Upvote 0
đúng rồi đó, redim KQ(1 to n, 1 To m) là khai báo kích thước của mảng.
1 to n là mảng có n dòng, 1 to m là mảng có m cột (mảng hai chiều)
 
Lần chỉnh sửa cuối:
Upvote 0
đủngồi đó redim KQ(1 to n, 1 To m) là khai báo kích thước của mảng.
1 to n là mảng có n dòng, 1 to m là mảng có m cột (mảng hai chiều)
Mảng cũng có dòng với cột à bạn.Thế nếu mảng 3 chiều thì thêm cái nào nữa bạn.
 
Upvote 0
Mảng cũng có dòng với cột à bạn.Thế nếu mảng 3 chiều thì thêm cái nào nữa bạn.
Tôi đã nói ở nhiều bài là kiến thức của tôi về VBA nói riêng và Excel nói chung là nông cạn và chắp vá học mót thôi mà. nên có nhiều vấn đề đọc trên diễn đàn cũng chẳng hiểu chút gì, chứ chưa nói là câu hỏi của các bạn hỏi mình mình chẳng biết thế nào để giải thích. chỉ giải thích theo ý hiểu của mình thôi. Tôi hình dung mảng 2 chiều là có dòng và cột, một dòng nhiều cột hoặc 1 cột nhiều dòng cũng là mảng 2 chiều. và trong thực tế tôi thường áp dụng như vậy. Nói thực tình tôi không có một chút kiến thức nào về mảng nhiều hơn 2 chiều. Nếu tôi đã giải thích cho bạn gì đó sai, bạn có thể giải thích lại cho bạn ấy hiểu và cho người khác được học thêm kiến thức thì tốt biết bao. Và cúng trân trọng đề nghị với bạn là: Nếu có thể bạn có thể cung cấp cho tôi những kiến thức về mảng 2, 3 chiều để tôi được mở rộng tầm mắt có được không.
 
Upvote 0
Tôi đã nói ở nhiều bài là kiến thức của tôi về VBA nói riêng và Excel nói chung là nông cạn và chắp vá học mót thôi mà. nên có nhiều vấn đề đọc trên diễn đàn cũng chẳng hiểu chút gì, chứ chưa nói là câu hỏi của các bạn hỏi mình mình chẳng biết thế nào để giải thích. chỉ giải thích theo ý hiểu của mình thôi. Tôi hình dung mảng 2 chiều là có dòng và cột, một dòng nhiều cột hoặc 1 cột nhiều dòng cũng là mảng 2 chiều. và trong thực tế tôi thường áp dụng như vậy. Nói thực tình tôi không có một chút kiến thức nào về mảng nhiều hơn 2 chiều. Nếu tôi đã giải thích cho bạn gì đó sai, bạn có thể giải thích lại cho bạn ấy hiểu và cho người khác được học thêm kiến thức thì tốt biết bao. Và cúng trân trọng đề nghị với bạn là: Nếu có thể bạn có thể cung cấp cho tôi những kiến thức về mảng 2, 3 chiều để tôi được mở rộng tầm mắt có được không.
Bạn đọc bài này của anh befaint

 
Upvote 0
Từ chuyên môn là chiều thứ nhất, thứ hai nhưng thực tế trực quan nói m dòng và n cột trong mảng 2 chiều đâu có gì sai.
 
Upvote 0
Tôi đã nói ở nhiều bài là kiến thức của tôi về VBA nói riêng và Excel nói chung là nông cạn và chắp vá học mót thôi mà. nên có nhiều vấn đề đọc trên diễn đàn cũng chẳng hiểu chút gì, chứ chưa nói là câu hỏi của các bạn hỏi mình mình chẳng biết thế nào để giải thích. chỉ giải thích theo ý hiểu của mình thôi. Tôi hình dung mảng 2 chiều là có dòng và cột, một dòng nhiều cột hoặc 1 cột nhiều dòng cũng là mảng 2 chiều. và trong thực tế tôi thường áp dụng như vậy. Nói thực tình tôi không có một chút kiến thức nào về mảng nhiều hơn 2 chiều. Nếu tôi đã giải thích cho bạn gì đó sai, bạn có thể giải thích lại cho bạn ấy hiểu và cho người khác được học thêm kiến thức thì tốt biết bao. Và cúng trân trọng đề nghị với bạn là: Nếu có thể bạn có thể cung cấp cho tôi những kiến thức về mảng 2, 3 chiều để tôi được mở rộng tầm mắt có được không.
Có thể học thuật sẽ dùng từ khác nhưng với những người như mình, học theo kiểu chắp vá kiến thức từ các bạn hướng dẫn và tự hiểu theo cách diễn đạt tự bản thân nên thấy bạn nói dễ hiểu. :) chủ đích là hiểu và vận dụng dduocj cho bản thân mà.
Cảm ơn các bạn đã góp ý đa chiều.
 
Upvote 0
Web KT
Back
Top Bottom