Kiến thức cơ bản về Visual Basic for Applications (VBA)

Liên hệ QC
Status
Không mở trả lời sau này.
đặt Check như 1 msgbox. nhưng khi msgbox2 = Check, em những tưởng nó cho ra msgbox ban đầu, nhưng nó không phải vậy mà lại thay thế = true or false. +-+-+-+
Lưu ý nha:
1. Check là 1 biến Boolean như đã khai báo từ trước.
2. [MsgBox("Ban chon 'Yes' hay 'No'?", 4) = 6] là một biểu thức trả về giá trị là TRUE hoặc FALSE
 
Lưu ý nha:
1. Check là 1 biến Boolean như đã khai báo từ trước.
2. [MsgBox("Ban chon 'Yes' hay 'No'?", 4) = 6] là một biểu thức trả về giá trị là TRUE hoặc FALSE

Đúng là đôi lúc mình ngáo ộp thiệt, biến Boolean trả về giá trị True or False, mình quên mất đi cái Dim, trông gà hoá cuốc (thấy 4 và 6 làm mình ngớ ngẫn).
 
Đúng là đôi lúc mình ngáo ộp thiệt, biến Boolean trả về giá trị True or False, mình quên mất đi cái Dim, trông gà hoá cuốc.
Chuyện thường thôi (là con người mà)
Sẳn đây tặng đồng chí 1 cái "lẩu thái" này, vừa ăn vừa ngâm cứu
PHP:
Sub Test()
 MsgBox "Ban da chon " & Choose(1 - (MsgBox("Ban chon 'Yes' hay 'No'?", 4) = 6), "'No'", "'Yes'")
End Sub
Ăn cho nóng, tuy cay nhưng cũng khá ngon đấy nhé
(mà đúng là LẨU thật, vì nó "trộn" 1 rừng đủ các loại gia vị)
gần giống cái trên ---> Cảm giác có gì đặc biệt hãy phát biểu nhé!
Ẹc... Ẹc...
 
Chuyện thường thôi (là con người mà)
Sẳn đây tặng đồng chí 1 cái "lẩu thái" này, vừa ăn vừa ngâm cứu
PHP:
Sub Test()
 MsgBox "Ban da chon " & Choose(1 - (MsgBox("Ban chon 'Yes' hay 'No'?", 4) = 6), "'No'", "'Yes'")
End Sub
Ăn cho nóng, tuy cay nhưng cũng khá ngon đấy nhé
(mà đúng là LẨU thật, vì nó "trộn" 1 rừng đủ các loại gia vị)
gần giống cái trên ---> Cảm giác có gì đặc biệt hãy phát biểu nhé!
Ẹc... Ẹc...

Khỏi Test đã biết đặc biệt rồi, dùng hàm Choose thay luôn Dim, chả cần khai báo gì hết! Thầy đúng là thiên tài!
 
Cảm ơn , bạn cadafi và bạn ndu96081631
user_online.gif
, cái này đúng là mình đang cần !
 
Chị PhanTuHuong thân mến. không hiểu sao em cứ vào mục học VBA này những ảnh đều không hiện ra. Không biết hay là tại máy chỗ em. Em muốn xem những bức ảnh đó để học cho nhanh nhưng chưa biết cách nào. Chị và mọi người ai biết thì giúp em nha.
Cám ơn chị và mọi người.
 
Chị PhanTuHuong thân mến. không hiểu sao em cứ vào mục học VBA này những ảnh đều không hiện ra. Không biết hay là tại máy chỗ em. Em muốn xem những bức ảnh đó để học cho nhanh nhưng chưa biết cách nào. Chị và mọi người ai biết thì giúp em nha.
Cám ơn chị và mọi người.
Bạn xem bài này:
http://www.giaiphapexcel.com/forum/showpost.php?p=64687&postcount=43
Bài viết của thầy Phan Tự Hướng đã được tổng hợp thành file rồi đấy
 
Tôi có một bảng Exel gồm 5 dòng và 1 số cột . Các hàng có các số có thể trùng nhau , bây giờ tôi nhờ các bạn viết cho code sao cho khi sử dụng Exel tôi chỉ cần bôi đen khung 5x15 đó rồi dùng lệnh nào đó chuyển bảng về dạng trên cùng một hàng không có số nào trùng nhau ( Tuy nhiên các số trên cùng một cột thì không được chuyển sang cột khác )
Xin chân thành cảm ơn
 

File đính kèm

  • bang so.xls
    13.5 KB · Đọc: 82
Lần chỉnh sửa cuối:
Tôi có một bảng Exel gồm 5 dòng và 1 số cột . Các hàng có các số có thể trùng nhau , bây giờ tôi nhờ các bạn viết cho code sao cho khi sử dụng Exel tôi chỉ cần bôi đen khung 5x15 đó rồi dùng lệnh nào đó chuyển bảng về dạng trên cùng một hàng không có số nào trùng nhau ( Tuy nhiên các số trên cùng một cột thì không được chuyển sang cột khác )
Xin chân thành cảm ơn
Chuyển là chuyển thế nào? Bạn phải cho ví dụ trong file mới hình dung được bạn à... Mông lung quá
 
Tôi có một bảng Exel gồm 5 dòng và 1 số cột . Các hàng có các số có thể trùng nhau , bây giờ tôi nhờ các bạn viết cho code sao cho khi sử dụng Exel tôi chỉ cần bôi đen khung 5x15 đó rồi dùng lệnh nào đó chuyển bảng về dạng trên cùng một hàng không có số nào trùng nhau ( Tuy nhiên các số trên cùng một cột thì không được chuyển sang cột khác )
Xin chân thành cảm ơn
Mình làm như vầy được không bạn?
Thân.
 

File đính kèm

  • bang so.xls
    26.5 KB · Đọc: 208
Lần chỉnh sửa cuối:
Rất cảm ơn Phan TUHuong đã post lên nội dung này. Mình cũng thích ngâm cứu excel và ứng dụng vào công việc khá hiệu quả, nhưn gchỉ dừng lại ở những thao tác thủ công. Mình chưa biết gì về maro, VBA. Có nội dung bài viết này mình hy vọng sẽ ngâm cứu và ứng dụng tốt hơn trong công việc. Thank you!
 
XIn hỏi cách lấy dữ liệu từ mảng DATA2 nhập tương ứng vào mảng DATA1

Tôi có 2 mảng như file kèm theo.
XIn hỏi làm thế nào để lấy số liệu từ mảng DATA2 nhập tương ứng vào DATA1.
Có thể dùng hàm sẵn có của Excel hay là phải dùng hàm tự tạo hoặc VBA.
Mong mọi người gíup đỡ.
 

File đính kèm

  • dien so lieu theo 2 tham chieu hang va cot.xls
    23 KB · Đọc: 180
Lần chỉnh sửa cuối:
Macro của bạn đây, xin mời mại zô!

Tôi có 2 mảng; Xin hỏi làm thế nào để lấy số liệu từ mảng DATA2 nhập tương ứng vào DATA1.
Có thể dùng . . . hoặc VBA.

Lưu ý: Để thấy tác dụng & dễ kiểm tra, bạn nên tô màu nền 1 hàng nào đó của Data2 (Màu vàng chẳng hạn) & lấy cột bất kỳ ta tô các màu nền nhạc khác nhau trong palette.
Sau đó chạy macro & kiểm tra theo màu sắc sẽ tiện hơn nhiều


PHP:
Option Explicit
Sub ChuyenVi()
 Dim hRng As Range, cRng As Range, sRngh As Range, Clls As Range
 Dim Col As Byte, jJ As Byte
 
 Set hRng = Range([A1], [A65500].End(xlUp))
 Set cRng = Range([A1], [iV1].End(xlToLeft))
 Col = cRng.Columns.Count
 For Each Clls In Range([H14], [H65500].End(xlUp))
   Set sRngh = hRng.Find(Clls.Value, , xlFormulas, xlWhole)
   If Not sRngh Is Nothing Then
      For jJ = 1 To Col
         With Clls.Offset(, jJ)
            Cells(sRngh.Row, cRng.Find([h13].Offset(, jJ)).Column).Value = _
               .Value
            If .Interior.ColorIndex > 9 Then
               Cells(sRngh.Row, cRng.Find([h13].Offset(, jJ)).Column). _
                  Interior.ColorIndex = .Interior.ColorIndex
            End If
         End With
      Next jJ
   Else
      MsgBox "Error!", , "GPE Xin Luu Y"
   End If
 Next Clls
End Sub
Chúc thắng lợi! --=0
 
Lưu ý: Để thấy tác dụng & dễ kiểm tra, bạn nên tô màu nền 1 hàng nào đó của Data2 (Màu vàng chẳng hạn) & lấy cột bất kỳ ta tô các màu nền nhạc khác nhau trong palette.
Sau đó chạy macro & kiểm tra theo màu sắc sẽ tiện hơn nhiều


PHP:
Option Explicit
Sub ChuyenVi()
 Dim hRng As Range, cRng As Range, sRngh As Range, Clls As Range
 Dim Col As Byte, jJ As Byte
 
 Set hRng = Range([A1], [A65500].End(xlUp))
 Set cRng = Range([A1], [iV1].End(xlToLeft))
 Col = cRng.Columns.Count
 For Each Clls In Range([H14], [H65500].End(xlUp))
   Set sRngh = hRng.Find(Clls.Value, , xlFormulas, xlWhole)
   If Not sRngh Is Nothing Then
      For jJ = 1 To Col
         With Clls.Offset(, jJ)
            Cells(sRngh.Row, cRng.Find([h13].Offset(, jJ)).Column).Value = _
               .Value
            If .Interior.ColorIndex > 9 Then
               Cells(sRngh.Row, cRng.Find([h13].Offset(, jJ)).Column). _
                  Interior.ColorIndex = .Interior.ColorIndex
            End If
         End With
      Next jJ
   Else
      MsgBox "Error!", , "GPE Xin Luu Y"
   End If
 Next Clls
End Sub
Chúc thắng lợi! --=0
-----------

Bạn HYEN17 ơi! Minh chạy không được. bạn mở file đính kèm mình đã chụp lại cụ thể khi macro chạy không thành.
 

File đính kèm

  • dien so lieu theo 2 tham chieu hang va cot(2).rar
    234.5 KB · Đọc: 307
Tôi có 2 mảng như file kèm theo.
XIn hỏi làm thế nào để lấy số liệu từ mảng DATA2 nhập tương ứng vào DATA1.
Có thể dùng hàm sẵn có của Excel hay là phải dùng hàm tự tạo hoặc VBA.
Mong mọi người gíup đỡ.

Bạn test file này xem có được không ?

PHP:
Sub Tim2Chieu()
  dong = Range("data1").Rows.Count - 1
  cot = Range("data1").Columns.Count
  For Each cls In Range("data1").Range(Cells(1, 2), Cells(1, cot))
    temp = Range("data2").Find(cls, MatchCase:=True).Column - Range("data2").Column + 1
    cls.Offset(1).Resize(dong) = "=VLOOKUP(RC2,data2," & temp & ",0)"
  Next
  Range("data1") = Range("data1").Value
End Sub
 

File đính kèm

  • Tim2Chieu.xls
    46 KB · Đọc: 247
Lần chỉnh sửa cuối:
Bạn làm tốn tài nguyên của mình đó nhe!

-----------

Bạn HYEN17 ơi! Minh chạy không được. bạn mở file đính kèm mình đã chụp lại cụ thể khi macro chạy không thành.

File đính kèm sẽ được gỡ bỏ, một khi bạn hay ai đó nhấn nút "Thank"
 

File đính kèm

  • GPE.rar
    12.3 KB · Đọc: 397
Mọi trao đổi xin gửi ở ngoài vì không phù hợp với topic này. Tôi xin khoá chủ đề này lại.
 
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom