Gửi Tin Nhắn Cho Admin

Thứ Ba, 26 tháng 9, 2017

Hiển Thị Tiếng Việt có Dấu trong màn hình Console


- Ta sẽ lấy lại ví dụ tính tổng N số nguyên người dùng nhập vào nhé
Sub Main()
        Dim n As Integer, i As Integer, so As Integer, tong As Integer
        Dim l As New List(Of Integer)

        Console.OutputEncoding = System.Text.Encoding.UTF8
        Console.WriteLine("Số lượng số nguyên mà bạn muốn tính tổng: ")
        n = Console.ReadLine
        For i = 1 To n
            Console.WriteLine("mời bạn nhập số thứ: " & i)
            so = Console.ReadLine
            l.Add(so)
        Next
        For i = 0 To l.Count - 1
            tong += l.Item(i)
        Next
        Console.WriteLine("Tổng của {0} số nguyên nhập vào là {1} ", n, tong)
        Console.ReadLine()
    End Sub
Phạm Minh Tùng  /  at  9/26/2017 10:48:00 CH  /  No comments


- Ta sẽ lấy lại ví dụ tính tổng N số nguyên người dùng nhập vào nhé
Sub Main()
        Dim n As Integer, i As Integer, so As Integer, tong As Integer
        Dim l As New List(Of Integer)

        Console.OutputEncoding = System.Text.Encoding.UTF8
        Console.WriteLine("Số lượng số nguyên mà bạn muốn tính tổng: ")
        n = Console.ReadLine
        For i = 1 To n
            Console.WriteLine("mời bạn nhập số thứ: " & i)
            so = Console.ReadLine
            l.Add(so)
        Next
        For i = 0 To l.Count - 1
            tong += l.Item(i)
        Next
        Console.WriteLine("Tổng của {0} số nguyên nhập vào là {1} ", n, tong)
        Console.ReadLine()
    End Sub

Posted in: Read Complete Article»

Biến Danh sách trong VB.NET

- Đầu tiên ta sẽ xét cách khai báo và truy xuất phần tử trong List
Sub Main()
        Dim l As New List(Of Integer)
        l.Add(10)
        l.Add(20)
        Console.WriteLine("Phan tu 1 la {0}, phan tu thu 2 la {1} ", l.Item(0), l.Item(1))
        Console.ReadLine()
    End Sub


- Tiếp theo chúng ta cùng xét ứng dụng tính tổng n số nguyên nhập vào
Sub Main()
        Dim n As Integer, i As Integer, so As Integer, tong As Integer
        Dim l As New List(Of Integer)

        Console.WriteLine("So Luong so nguyen ma ban muon tinh tong: ")
        n = Console.ReadLine
        For i = 1 To n
            Console.WriteLine("moi ban nhap so thu: " & i)
            so = Console.ReadLine
            l.Add(so)
        Next
        For i = 0 To l.Count - 1
            tong += l.Item(i)
        Next
        Console.WriteLine("Tong cua {0} so nguyen nhap vao la {1} ", n, tong)
        Console.ReadLine()
    End Sub

=> qua các ví dụ trên ta thấy List có ưu điểm rất nhiều so với mảng, list hỗ trợ rất nhiều phương thức mà ta sẽ khám phá ở những bài sau

Phạm Minh Tùng  /  at  9/26/2017 10:43:00 CH  /  No comments

- Đầu tiên ta sẽ xét cách khai báo và truy xuất phần tử trong List
Sub Main()
        Dim l As New List(Of Integer)
        l.Add(10)
        l.Add(20)
        Console.WriteLine("Phan tu 1 la {0}, phan tu thu 2 la {1} ", l.Item(0), l.Item(1))
        Console.ReadLine()
    End Sub


- Tiếp theo chúng ta cùng xét ứng dụng tính tổng n số nguyên nhập vào
Sub Main()
        Dim n As Integer, i As Integer, so As Integer, tong As Integer
        Dim l As New List(Of Integer)

        Console.WriteLine("So Luong so nguyen ma ban muon tinh tong: ")
        n = Console.ReadLine
        For i = 1 To n
            Console.WriteLine("moi ban nhap so thu: " & i)
            so = Console.ReadLine
            l.Add(so)
        Next
        For i = 0 To l.Count - 1
            tong += l.Item(i)
        Next
        Console.WriteLine("Tong cua {0} so nguyen nhap vao la {1} ", n, tong)
        Console.ReadLine()
    End Sub

=> qua các ví dụ trên ta thấy List có ưu điểm rất nhiều so với mảng, list hỗ trợ rất nhiều phương thức mà ta sẽ khám phá ở những bài sau

Posted in: Read Complete Article»

Khai Báo Biến Mảng trong Vb.Net


I - Biến Mảng 1 Chiều
- Đầu tiên ta sẽ vừa khai báo, vừa khởi tạo biến mảng kiểu Integer với 101 phần tử
Sub Main()
  Dim Ghe_Int() as Integer = New As Integer(100) {}
 ' Sau đó ta sẽ gán phân tử cho mảng
Ghe_int(0) =1
Ghe_int(1)=2
' ..............................
End Sub

- Xét qua ví dụ trên bạn sẽ thấy nhược điểm của Mảng chính là dư thừa bộ nhớ, tức là chúng ta khai báo 101 phần tử nhưng chỉ sử dụng có 2 phần từ, trong khi thực tế thì ta không biết trước số phân tử thỏa mản là bao nhiêu, nên ta sẽ khai báo thừa như thế
== > Để khắc phục nhược điểm này chúng ta cùng nghiên cứu về List ở phần sau nhé

II- Biến Mảng 2 Chiều

Đầu tiên ta khai báo biến như sau:
Sub Main()
        Dim M2C(9, 9) As Integer
        M2C(1, 5) = 6
        M2C(9, 1) = 10
    End Sub

- Bạn cứ hình dung mảng 2 chiều như một ma trận 2 chiều, và mảng trên có 10 * 10 = 100 phần tử
- Sau Đây mình sẽ Demo tính tổng của ma trận 2 chiều 4 dòng và 4 cột
- Ta thấy mỗi cụm có tổng là 20 => Tổng ma trận là 80 nhé
Sub Main()
        Dim M2C(3, 3) As Integer
        Dim i As Byte, j As Byte, Tong As Long
        M2C(0, 0) = 2
        M2C(0, 1) = 4
        M2C(0, 2) = 6
        M2C(0, 3) = 8

        M2C(1, 0) = 2
        M2C(1, 1) = 4
        M2C(1, 2) = 6
        M2C(1, 3) = 8

        M2C(2, 0) = 2
        M2C(2, 1) = 4
        M2C(2, 2) = 6
        M2C(2, 3) = 8

        M2C(3, 0) = 2
        M2C(3, 1) = 4
        M2C(3, 2) = 6
        M2C(3, 3) = 8

        For i = 0 To 3
            For j = 0 To 3
                Tong += M2C(i, j)
            Next
        Next

        Console.WriteLine("Tong ma tran la: " & Tong)
        Console.ReadLine()
    End Sub

Phạm Minh Tùng  /  at  9/26/2017 09:59:00 CH  /  No comments


I - Biến Mảng 1 Chiều
- Đầu tiên ta sẽ vừa khai báo, vừa khởi tạo biến mảng kiểu Integer với 101 phần tử
Sub Main()
  Dim Ghe_Int() as Integer = New As Integer(100) {}
 ' Sau đó ta sẽ gán phân tử cho mảng
Ghe_int(0) =1
Ghe_int(1)=2
' ..............................
End Sub

- Xét qua ví dụ trên bạn sẽ thấy nhược điểm của Mảng chính là dư thừa bộ nhớ, tức là chúng ta khai báo 101 phần tử nhưng chỉ sử dụng có 2 phần từ, trong khi thực tế thì ta không biết trước số phân tử thỏa mản là bao nhiêu, nên ta sẽ khai báo thừa như thế
== > Để khắc phục nhược điểm này chúng ta cùng nghiên cứu về List ở phần sau nhé

II- Biến Mảng 2 Chiều

Đầu tiên ta khai báo biến như sau:
Sub Main()
        Dim M2C(9, 9) As Integer
        M2C(1, 5) = 6
        M2C(9, 1) = 10
    End Sub

- Bạn cứ hình dung mảng 2 chiều như một ma trận 2 chiều, và mảng trên có 10 * 10 = 100 phần tử
- Sau Đây mình sẽ Demo tính tổng của ma trận 2 chiều 4 dòng và 4 cột
- Ta thấy mỗi cụm có tổng là 20 => Tổng ma trận là 80 nhé
Sub Main()
        Dim M2C(3, 3) As Integer
        Dim i As Byte, j As Byte, Tong As Long
        M2C(0, 0) = 2
        M2C(0, 1) = 4
        M2C(0, 2) = 6
        M2C(0, 3) = 8

        M2C(1, 0) = 2
        M2C(1, 1) = 4
        M2C(1, 2) = 6
        M2C(1, 3) = 8

        M2C(2, 0) = 2
        M2C(2, 1) = 4
        M2C(2, 2) = 6
        M2C(2, 3) = 8

        M2C(3, 0) = 2
        M2C(3, 1) = 4
        M2C(3, 2) = 6
        M2C(3, 3) = 8

        For i = 0 To 3
            For j = 0 To 3
                Tong += M2C(i, j)
            Next
        Next

        Console.WriteLine("Tong ma tran la: " & Tong)
        Console.ReadLine()
    End Sub

Posted in: Read Complete Article»

Cách Khai báo biến và các Hàm cơ bản


- Ta vừa khai báo vừa khởi tạo các biến kiểu Double

dim so1 as Double=1.5
dim so2 as Double =2
dim so3 as Double = Math.Round (so1 + so2, 2)

dim dat as new DateTime(2017,9,26)
Phạm Minh Tùng  /  at  9/26/2017 04:50:00 CH  /  No comments


- Ta vừa khai báo vừa khởi tạo các biến kiểu Double

dim so1 as Double=1.5
dim so2 as Double =2
dim so3 as Double = Math.Round (so1 + so2, 2)

dim dat as new DateTime(2017,9,26)

Posted in: Read Complete Article»

Dùng phương thức TryParse để bẫy lỗi nhập liệu

- Trong quá trình nhập liệu nếu ta khai báo biến Single hoặc các biến dạng số mà người dùng họ nhập vào chuỗi thì chương trình ta viết sẽ bị lỗi, do đó ta sẽ bẫy lỗi bằng TryParse

Sub Main()
        Dim hoten As String
        Dim diemtoan As Single
        Dim diemvan As Single
        Dim dtb As Single

        Dim stringtoan As String
        Dim stringvan As String
Thoat:
        Console.WriteLine("Nhap vao ten cua ban ")
        hoten = Console.ReadLine()
        Console.WriteLine("Nhap vao diem toan")
        stringtoan = Console.ReadLine()
        Console.WriteLine("nhap vao diem van")
        stringvan = Console.ReadLine()

        If Not Single.TryParse(stringtoan, diemtoan) Or Not Single.TryParse(stringvan, diemvan) Then
            Console.WriteLine("Diem toan hoac Van khong dung dinh dang")
            GoTo Thoat
        End If
        dtb = (diemtoan + diemvan) / 2
        Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", hoten, diemtoan, diemvan, dtb)
        Console.ReadLine()
    End Sub
Phạm Minh Tùng  /  at  9/26/2017 01:04:00 CH  /  No comments

- Trong quá trình nhập liệu nếu ta khai báo biến Single hoặc các biến dạng số mà người dùng họ nhập vào chuỗi thì chương trình ta viết sẽ bị lỗi, do đó ta sẽ bẫy lỗi bằng TryParse

Sub Main()
        Dim hoten As String
        Dim diemtoan As Single
        Dim diemvan As Single
        Dim dtb As Single

        Dim stringtoan As String
        Dim stringvan As String
Thoat:
        Console.WriteLine("Nhap vao ten cua ban ")
        hoten = Console.ReadLine()
        Console.WriteLine("Nhap vao diem toan")
        stringtoan = Console.ReadLine()
        Console.WriteLine("nhap vao diem van")
        stringvan = Console.ReadLine()

        If Not Single.TryParse(stringtoan, diemtoan) Or Not Single.TryParse(stringvan, diemvan) Then
            Console.WriteLine("Diem toan hoac Van khong dung dinh dang")
            GoTo Thoat
        End If
        dtb = (diemtoan + diemvan) / 2
        Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", hoten, diemtoan, diemvan, dtb)
        Console.ReadLine()
    End Sub

Posted in: Read Complete Article»

Nhập môn lập trình hướng đối tượng với VB.NET

1. Đầu tiên ta hãy xem một đoạn code hướng thủ tục về nhập xuất dữ liệu
Sub Main()
Dim hoten As String
Dim diemtoan As Single
Dim diemvan As Single
Dim dtb As Single
Console.WriteLine("Nhap vao ten cua ban ")
hoten = Console.ReadLine()
Console.WriteLine("Nhap vao diem toan")
diemtoan = Console.ReadLine()
Console.WriteLine("nhap vao diem van")
diemvan = Console.ReadLine()
dtb = (diemtoan + diemvan) / 2
Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", hoten, diemtoan, diemvan, dtb)
Console.ReadLine()
End Sub

--------------------------------------------------------------------------------------------------
2. Code Lập trình hướng đơn thể
---------------------------------------------------------------------------
Sub Main()
Dim hs As New CauTrucHocSinh
Nhap(hs)
TinhDiemTB(hs)
Xuat(hs)
Console.ReadKey()
End Sub
----------------------------------------------------------------------------
Structure CauTrucHocSinh
Dim Hoten As String
Dim DiemToan As Double
Dim DiemVan As Double
Dim dtb As Double
End Structure
Sub Nhap(ByRef hs As CauTrucHocSinh)
Console.WriteLine("Nhap vao ten cua ban ")
hs.Hoten = Console.ReadLine()
Console.WriteLine("Nhap vao diem toan")
hs.DiemToan = Console.ReadLine()
Console.WriteLine("nhap vao diem van")
hs.DiemVan = Console.ReadLine()
End Sub
Sub TinhDiemTB(ByRef hs As CauTrucHocSinh)
hs.dtb = (hs.DiemToan + hs.DiemVan) / 2
End Sub
Sub Xuat(ByRef hs As CauTrucHocSinh)
Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", hs.Hoten, hs.DiemToan, hs.DiemVan, hs.dtb)
End Sub

---------------------------------------------------------------------------------------------------
3. Lập trình hướng đối tượng
------------------------------------------
Sub Main()
Dim hs As New HocSinh
hs.Nhap()
hs.TinhDTB()
hs.Xuat()
Console.ReadKey()
End Sub
--------------------------------------------
Public Class HocSinh
Private _Hoten As String
Private _diemtoan As Double
Private _diemvan As Double
Private _dtb As Double
Public Sub Nhap()
Console.WriteLine("Nhap vao ten cua ban ")
_Hoten = Console.ReadLine()
Console.WriteLine("Nhap vao diem toan")
_diemtoan = Console.ReadLine()
Console.WriteLine("nhap vao diem van")
_diemvan = Console.ReadLine()
End Sub
Public Sub TinhDTB()
_dtb = (_diemtoan + _diemvan) / 2
End Sub
Public Sub Xuat()
Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", _Hoten, _diemtoan, _diemvan, _dtb)
End Sub
End Class
Phạm Minh Tùng  /  at  9/26/2017 12:50:00 CH  /  No comments

1. Đầu tiên ta hãy xem một đoạn code hướng thủ tục về nhập xuất dữ liệu
Sub Main()
Dim hoten As String
Dim diemtoan As Single
Dim diemvan As Single
Dim dtb As Single
Console.WriteLine("Nhap vao ten cua ban ")
hoten = Console.ReadLine()
Console.WriteLine("Nhap vao diem toan")
diemtoan = Console.ReadLine()
Console.WriteLine("nhap vao diem van")
diemvan = Console.ReadLine()
dtb = (diemtoan + diemvan) / 2
Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", hoten, diemtoan, diemvan, dtb)
Console.ReadLine()
End Sub

--------------------------------------------------------------------------------------------------
2. Code Lập trình hướng đơn thể
---------------------------------------------------------------------------
Sub Main()
Dim hs As New CauTrucHocSinh
Nhap(hs)
TinhDiemTB(hs)
Xuat(hs)
Console.ReadKey()
End Sub
----------------------------------------------------------------------------
Structure CauTrucHocSinh
Dim Hoten As String
Dim DiemToan As Double
Dim DiemVan As Double
Dim dtb As Double
End Structure
Sub Nhap(ByRef hs As CauTrucHocSinh)
Console.WriteLine("Nhap vao ten cua ban ")
hs.Hoten = Console.ReadLine()
Console.WriteLine("Nhap vao diem toan")
hs.DiemToan = Console.ReadLine()
Console.WriteLine("nhap vao diem van")
hs.DiemVan = Console.ReadLine()
End Sub
Sub TinhDiemTB(ByRef hs As CauTrucHocSinh)
hs.dtb = (hs.DiemToan + hs.DiemVan) / 2
End Sub
Sub Xuat(ByRef hs As CauTrucHocSinh)
Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", hs.Hoten, hs.DiemToan, hs.DiemVan, hs.dtb)
End Sub

---------------------------------------------------------------------------------------------------
3. Lập trình hướng đối tượng
------------------------------------------
Sub Main()
Dim hs As New HocSinh
hs.Nhap()
hs.TinhDTB()
hs.Xuat()
Console.ReadKey()
End Sub
--------------------------------------------
Public Class HocSinh
Private _Hoten As String
Private _diemtoan As Double
Private _diemvan As Double
Private _dtb As Double
Public Sub Nhap()
Console.WriteLine("Nhap vao ten cua ban ")
_Hoten = Console.ReadLine()
Console.WriteLine("Nhap vao diem toan")
_diemtoan = Console.ReadLine()
Console.WriteLine("nhap vao diem van")
_diemvan = Console.ReadLine()
End Sub
Public Sub TinhDTB()
_dtb = (_diemtoan + _diemvan) / 2
End Sub
Public Sub Xuat()
Console.WriteLine("ten cua ban {0}, diem toan {1}, diem van {2}, diem trung binh {3}", _Hoten, _diemtoan, _diemvan, _dtb)
End Sub
End Class

Posted in: Read Complete Article»

Thứ Hai, 25 tháng 9, 2017

Định dạng Format Number trong Access

Format(0.25,"Percent") ==>kết quả sẽ cho ra : 25.00% , cũng giống như VBA trong Excel, access nó cũng có các định dạng sẵn như Excel, các bạn có thể thay đổi các định dạng khác nhé
Phạm Minh Tùng  /  at  9/25/2017 03:06:00 CH  /  No comments

Format(0.25,"Percent") ==>kết quả sẽ cho ra : 25.00% , cũng giống như VBA trong Excel, access nó cũng có các định dạng sẵn như Excel, các bạn có thể thay đổi các định dạng khác nhé

Posted in: Read Complete Article»

Lấy đường dẫn của những thư mục đặc biệt

- Các bạn thay &H1A& thành các đường dẫn đặc biệt bên dưới nhé

Sub Test()
Dim KhoiTao, ThuMuc, DoiTuong
Set KhoiTao = CreateObject("Shell.Application")
Set ThuMuc = KhoiTao.Namespace(&H1A&)
Set DoiTuong = ThuMuc.Self
MsgBox DoiTuong.Path
Set KhoiTao = Nothing
Set ThuMuc = Nothing
Set DoiTuong = Nothing
End Sub
3. &H1& Internet Explorer
4. &H2& Programs
5. &H3& Control Panel
6. &H4& Printers and Faxes
7. &H5& My Documents
8. &H6& Favorites
9. &H7& Startup
10. &H8& My Recent Documents
11. &H9& SendTo
12. &Ha& Recycle Bin
13. &Hb& Start Menu
14. &Hd& My Music
15. &He& My Videos
16. &H10& Desktop
17. &H11& My Computer
18. &H12& My Network Places
19. &H13& NetHood
20. &H14& Fonts
21. &H15& Templates
22. &H16& All Users Start Menu
23. &H17& All Users Programs
24. &H18& All Users Startup
25. &H19& All Users Desktop
26. &H1a& Application Data
27. &H1b& PrintHood
28. &H1c& Local Settings\Application Data
29. &H19& All Users Favorites
30. &H20& Local Settings\ Temporary Internet Files
31. &H21& Cookies
32. &H22& Local Settings\History
33. &H23& All Users Application Data
34. &H24& Windows
35. &H25& System32
36. &H26& Program Files
37. &H27& My Pictures
38. &H28& User Profile
39. &H2b& Common Files
40. &H2e& All Users Templates
41. &H2f& Administrative Tools
42. &H31& Network Connections
Phạm Minh Tùng  /  at  9/25/2017 02:03:00 CH  /  1 comment

- Các bạn thay &H1A& thành các đường dẫn đặc biệt bên dưới nhé

Sub Test()
Dim KhoiTao, ThuMuc, DoiTuong
Set KhoiTao = CreateObject("Shell.Application")
Set ThuMuc = KhoiTao.Namespace(&H1A&)
Set DoiTuong = ThuMuc.Self
MsgBox DoiTuong.Path
Set KhoiTao = Nothing
Set ThuMuc = Nothing
Set DoiTuong = Nothing
End Sub
3. &H1& Internet Explorer
4. &H2& Programs
5. &H3& Control Panel
6. &H4& Printers and Faxes
7. &H5& My Documents
8. &H6& Favorites
9. &H7& Startup
10. &H8& My Recent Documents
11. &H9& SendTo
12. &Ha& Recycle Bin
13. &Hb& Start Menu
14. &Hd& My Music
15. &He& My Videos
16. &H10& Desktop
17. &H11& My Computer
18. &H12& My Network Places
19. &H13& NetHood
20. &H14& Fonts
21. &H15& Templates
22. &H16& All Users Start Menu
23. &H17& All Users Programs
24. &H18& All Users Startup
25. &H19& All Users Desktop
26. &H1a& Application Data
27. &H1b& PrintHood
28. &H1c& Local Settings\Application Data
29. &H19& All Users Favorites
30. &H20& Local Settings\ Temporary Internet Files
31. &H21& Cookies
32. &H22& Local Settings\History
33. &H23& All Users Application Data
34. &H24& Windows
35. &H25& System32
36. &H26& Program Files
37. &H27& My Pictures
38. &H28& User Profile
39. &H2b& Common Files
40. &H2e& All Users Templates
41. &H2f& Administrative Tools
42. &H31& Network Connections

Posted in: , Read Complete Article»

Lấy một số thông tin của máy tính bằng hàm Environ

- Các bạn có thể tìm hiểu thêm 1 số tham số khác của hàm Environ

Private Sub test()
MsgBox "USERNAME: " & Environ("USERNAME") & vbNewLine & "COMPUTERNAME: " & Environ("COMPUTERNAME") _
& vbNewLine & "WINDIR: " & Environ("WINDIR") & vbNewLine & "TEMP: " & Environ("TEMP")
End Sub
Phạm Minh Tùng  /  at  9/25/2017 01:59:00 CH  /  No comments

- Các bạn có thể tìm hiểu thêm 1 số tham số khác của hàm Environ

Private Sub test()
MsgBox "USERNAME: " & Environ("USERNAME") & vbNewLine & "COMPUTERNAME: " & Environ("COMPUTERNAME") _
& vbNewLine & "WINDIR: " & Environ("WINDIR") & vbNewLine & "TEMP: " & Environ("TEMP")
End Sub

Posted in: , Read Complete Article»

Chủ Nhật, 10 tháng 9, 2017

Chuyển column dạng số sang dạng chữ và ngược lại

- Trong thực tế khi lập trình VBA trong Excel đôi khi chúng ta cần chuyển Coumn Header từ dạng số sang dạng chữ để thao tác với Hàm Range , hoặc trường hợp ta thao tác với Cells thì có thể sử dụng dạng số chẳng hạn, thì hôm nay mình xin tổng hợp lại các cách để thực hiện việc đó:

=> Chuyển Column dạng chữ sang số

Function GetColumnNumber(ByVal strColumnName As String)
GetColumnNumber = Range(strColumnName & "1").Column
End Function
-------------------------------------------------------------------------------------
Function GetColumnNumber2(ByVal strColumnName As String)
    Dim i As Integer
    GetColumnNumber2 = 0
    For i = 1 To Len(strColumnName)
        GetColumnNumber2 = (Asc(UCase(Mid(strColumnName, i, 1))) - 64) + GetColumnNumber2 * 26
    Next i
End Function

=> Chuyển column dạng số sang dạng chữ

- Ta nhập vị trí của column (dạng số) vào ô B2:
=LEFT(REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;"");FIND("$";REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;""))-1)
=IF(MID(ADDRESS(3;B2;;;);3;1)="$";MID(ADDRESS(3;B2;;;);2;1);MID(ADDRESS(3;B2;;;);2;2))
- Viết hàm tự tạo:
Function GetColumnHeader(ByVal ColumnNumber As Integer)
GetColumnHeader = Replace(Replace(Cells(1, ColumnNumber).Address, "1", ""), "$", "")
End Function
--------------------------------------------------------------------------------------
Function GetColumnHeader2(ByVal intColumnNumber As Integer)
GetColumnHeader2 = Split(Cells(1, intColumnNumber).Address, "$")(1)
End Function
-----------------------------------------------------------------------------------------------
Function GetColumnHeader3(ByVal intColumnNumber As Integer) As String
    Dim bColDenom As Byte
    GetColumnHeader3 = ""
    Do
        bColDenom = ((intColumnNumber - 1) Mod 26)
        GetColumnHeader3 = Chr(bColDenom + 65) & GetColumnHeader3
        intColumnNumber = (intColumnNumber - bColDenom) \ 26
    Loop While intColumnNumber > 0
End Function
--------------------------------------------------------------------------------------------------------
Function GetColumnHeader4(intColumnNumber As Integer) As String
    If intColumnNumber > 26 Then
        GetColumnHeader4 = GetColumnHeader4((intColumnNumber - ((intColumnNumber - 1) Mod 26)) / 26) + Chr((intColumnNumber - 1) Mod 26 + 65)
    Else
        GetColumnHeader4 = Chr(intColumnNumber + 64)
    End If
End Function
Phạm Minh Tùng  /  at  9/10/2017 08:51:00 SA  /  No comments

- Trong thực tế khi lập trình VBA trong Excel đôi khi chúng ta cần chuyển Coumn Header từ dạng số sang dạng chữ để thao tác với Hàm Range , hoặc trường hợp ta thao tác với Cells thì có thể sử dụng dạng số chẳng hạn, thì hôm nay mình xin tổng hợp lại các cách để thực hiện việc đó:

=> Chuyển Column dạng chữ sang số

Function GetColumnNumber(ByVal strColumnName As String)
GetColumnNumber = Range(strColumnName & "1").Column
End Function
-------------------------------------------------------------------------------------
Function GetColumnNumber2(ByVal strColumnName As String)
    Dim i As Integer
    GetColumnNumber2 = 0
    For i = 1 To Len(strColumnName)
        GetColumnNumber2 = (Asc(UCase(Mid(strColumnName, i, 1))) - 64) + GetColumnNumber2 * 26
    Next i
End Function

=> Chuyển column dạng số sang dạng chữ

- Ta nhập vị trí của column (dạng số) vào ô B2:
=LEFT(REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;"");FIND("$";REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;""))-1)
=IF(MID(ADDRESS(3;B2;;;);3;1)="$";MID(ADDRESS(3;B2;;;);2;1);MID(ADDRESS(3;B2;;;);2;2))
- Viết hàm tự tạo:
Function GetColumnHeader(ByVal ColumnNumber As Integer)
GetColumnHeader = Replace(Replace(Cells(1, ColumnNumber).Address, "1", ""), "$", "")
End Function
--------------------------------------------------------------------------------------
Function GetColumnHeader2(ByVal intColumnNumber As Integer)
GetColumnHeader2 = Split(Cells(1, intColumnNumber).Address, "$")(1)
End Function
-----------------------------------------------------------------------------------------------
Function GetColumnHeader3(ByVal intColumnNumber As Integer) As String
    Dim bColDenom As Byte
    GetColumnHeader3 = ""
    Do
        bColDenom = ((intColumnNumber - 1) Mod 26)
        GetColumnHeader3 = Chr(bColDenom + 65) & GetColumnHeader3
        intColumnNumber = (intColumnNumber - bColDenom) \ 26
    Loop While intColumnNumber > 0
End Function
--------------------------------------------------------------------------------------------------------
Function GetColumnHeader4(intColumnNumber As Integer) As String
    If intColumnNumber > 26 Then
        GetColumnHeader4 = GetColumnHeader4((intColumnNumber - ((intColumnNumber - 1) Mod 26)) / 26) + Chr((intColumnNumber - 1) Mod 26 + 65)
    Else
        GetColumnHeader4 = Chr(intColumnNumber + 64)
    End If
End Function

Thứ Ba, 5 tháng 9, 2017

Chèn Hình Ảnh Tự Động vào Excel bằng VBA

- Để chèn hình ảnh vào trong excel các bạn chuẩn bị 1 thư mục chứa các hình ảnh cần thiết, và 1 file excel cần chèn hình ảnh, sau đó xem video bên dưới để thực hiện.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Or Target.Row = 1 Then Exit Sub
On Error GoTo Err_
Target(, 2).Worksheet.Shapes(Target.Address).Delete
Err_:
With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Target.Value & ".jpg")
    .Name = Target.Address
    .Top = Target.Top
    .Left = Target(, 2).Left
    .ShapeRange.LockAspectRatio = msoFalse
    .ShapeRange.Height = Target.Height
    .ShapeRange.Width = Target(, 2).Width
End With
Target.Offset(1, 0).Select
End Sub

Nếu Các bạn muốn copy một hình có sẵn trên sheet khác thì có thể copy code bên dưới nhé, và xem video mình họa, ở đây sheet dữ liệu là sheet2, nếu các bạn đặt ở sheet khác thì có thế thay đổi cho phù hợp
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Or Target.Row = 1 Then Exit Sub
On Error Resume Next
Target(, 2).Worksheet.Shapes(Target.Address).Delete
On Error GoTo Thoat
With Sheet2
    .Shapes(.Range("data").Find(Target.Value, , xlValues, xlWhole).Value).CopyPicture
End With
ActiveSheet.PasteSpecial
With Selection
    .Name = Target.Address
    .Top = Target.Top
    .Left = Target(, 2).Left
    .ShapeRange.LockAspectRatio = msoFalse
    .ShapeRange.Height = Target.Height
    .ShapeRange.Width = Target(, 2).Width
End With
Thoat:
Target.Offset(1, 0).Select
End Sub

Phạm Minh Tùng  /  at  9/05/2017 09:35:00 SA  /  8 comments

- Để chèn hình ảnh vào trong excel các bạn chuẩn bị 1 thư mục chứa các hình ảnh cần thiết, và 1 file excel cần chèn hình ảnh, sau đó xem video bên dưới để thực hiện.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Or Target.Row = 1 Then Exit Sub
On Error GoTo Err_
Target(, 2).Worksheet.Shapes(Target.Address).Delete
Err_:
With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Target.Value & ".jpg")
    .Name = Target.Address
    .Top = Target.Top
    .Left = Target(, 2).Left
    .ShapeRange.LockAspectRatio = msoFalse
    .ShapeRange.Height = Target.Height
    .ShapeRange.Width = Target(, 2).Width
End With
Target.Offset(1, 0).Select
End Sub

Nếu Các bạn muốn copy một hình có sẵn trên sheet khác thì có thể copy code bên dưới nhé, và xem video mình họa, ở đây sheet dữ liệu là sheet2, nếu các bạn đặt ở sheet khác thì có thế thay đổi cho phù hợp
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Or Target.Row = 1 Then Exit Sub
On Error Resume Next
Target(, 2).Worksheet.Shapes(Target.Address).Delete
On Error GoTo Thoat
With Sheet2
    .Shapes(.Range("data").Find(Target.Value, , xlValues, xlWhole).Value).CopyPicture
End With
ActiveSheet.PasteSpecial
With Selection
    .Name = Target.Address
    .Top = Target.Top
    .Left = Target(, 2).Left
    .ShapeRange.LockAspectRatio = msoFalse
    .ShapeRange.Height = Target.Height
    .ShapeRange.Width = Target(, 2).Width
End With
Thoat:
Target.Offset(1, 0).Select
End Sub

Posted in: , Read Complete Article»

Thứ Sáu, 1 tháng 9, 2017

Chia sẽ link Download Windows 10 Creators Update Enterprise Version 1073 x64 (64bit)

Link Download: Click Here
- Các bạn vào Link này  đăng kí tài khoản và điền link Fshare vào để download tốc độ nhanh nhất nhé.
Phạm Minh Tùng  /  at  9/01/2017 08:00:00 SA  /  No comments

Link Download: Click Here
- Các bạn vào Link này  đăng kí tài khoản và điền link Fshare vào để download tốc độ nhanh nhất nhé.

Posted in: Read Complete Article»

Thứ Năm, 31 tháng 8, 2017

Cách chèn code vào Blogger

- Khi nào cần viết code ta dán đoạn code bên dưới vào , và chú ý: &lt; : thay thế cho dấu <
&gt; : thay thế cho dấu >
<td class="smallfont">
 <div style="margin: 5px 20px 20px;">
 <pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;">YOUR_TEXT_HERE</pre>
 </div>
Phạm Minh Tùng  /  at  8/31/2017 11:50:00 CH  /  No comments

- Khi nào cần viết code ta dán đoạn code bên dưới vào , và chú ý: &lt; : thay thế cho dấu <
&gt; : thay thế cho dấu >
<td class="smallfont">
 <div style="margin: 5px 20px 20px;">
 <pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;">YOUR_TEXT_HERE</pre>
 </div>

Posted in: Read Complete Article»

Thay đổi CodeName bằng code VBA

- Các bạn chép sub Sau và module và chạy, lưu ý phải tick Trust Access to the VBA prọject

ThisWorkbook.VBProject.VBComponents(ThisWorkbook.Worksheets("sheet1").CodeName).Name _
= "NewCodeName"
Phạm Minh Tùng  /  at  8/31/2017 11:38:00 CH  /  No comments

- Các bạn chép sub Sau và module và chạy, lưu ý phải tick Trust Access to the VBA prọject

ThisWorkbook.VBProject.VBComponents(ThisWorkbook.Worksheets("sheet1").CodeName).Name _
= "NewCodeName"

Posted in: , Read Complete Article»

Chủ Nhật, 27 tháng 8, 2017

Khắc phục lỗi mở file chm mở lên không có nội dung

- Nguyên nhân chính là do tính bảo mật nên những file chm khi download trên mạng về thì đều bị lock nên ta không thể xem được, vì thế ta right click lên file chọn Property và bấm nút Unlock

Phạm Minh Tùng  /  at  8/27/2017 09:21:00 CH  /  No comments

- Nguyên nhân chính là do tính bảo mật nên những file chm khi download trên mạng về thì đều bị lock nên ta không thể xem được, vì thế ta right click lên file chọn Property và bấm nút Unlock

Posted in: Read Complete Article»

C# Màn hình Console nhập xuất

- Ngày 27/8/2017 : Giới thiệu cơ bản về nhập xuất trong Console.

Phạm Minh Tùng  /  at  8/27/2017 08:26:00 CH  /  No comments

- Ngày 27/8/2017 : Giới thiệu cơ bản về nhập xuất trong Console.

Posted in: , Read Complete Article»

Thứ Bảy, 26 tháng 8, 2017

Tách và Ghép Chuỗi thành các cột và ngược lại (Text To Columns Edit)

- Ngày 26/8/2017: Khi các bạn làm việc vơi Họ tên, mà các bạn nhập tên và họ liền nhau khi đó chúng ta cần tách tên sang một cột riêng, và người lại ta đang có 2 cột họ và tên và chúng ta cần gộp lại hoặc ghép các cột khác nhau thành một cột thì tiện ích sau đây sẽ giúp bạn.
Download Addin General: Click Here
Download Addin Edition: Click here
Phạm Minh Tùng  /  at  8/26/2017 10:56:00 SA  /  1 comment

- Ngày 26/8/2017: Khi các bạn làm việc vơi Họ tên, mà các bạn nhập tên và họ liền nhau khi đó chúng ta cần tách tên sang một cột riêng, và người lại ta đang có 2 cột họ và tên và chúng ta cần gộp lại hoặc ghép các cột khác nhau thành một cột thì tiện ích sau đây sẽ giúp bạn.
Download Addin General: Click Here
Download Addin Edition: Click here

Posted in: , Read Complete Article»

Cách tạo Hyperlink tự động đến các sheet

- Ngày 26/8/2017: giả sử trong file excel ta có rất nhiều sheet, giờ muốn tạo hyperlink đến các sheet đó, nhưng nếu làm thủ công thì rất mất thời gian, các bạn xem video nhé, và download file ở bên dưới



Download: Click Here
Phạm Minh Tùng  /  at  8/26/2017 10:28:00 SA  /  No comments

- Ngày 26/8/2017: giả sử trong file excel ta có rất nhiều sheet, giờ muốn tạo hyperlink đến các sheet đó, nhưng nếu làm thủ công thì rất mất thời gian, các bạn xem video nhé, và download file ở bên dưới



Download: Click Here

Posted in: , Read Complete Article»

Thứ Sáu, 18 tháng 8, 2017

Chuyển Khoản

Với các khoá học và phần mềm trên ExcelToanTap, bạn có thể chuyển khoản theo cú pháp như sau để có thể nhận được phần mềm hoặc khóa học ngay lập tức:

nội dung chuyển khoản

Họ Tên, Số điện thoại, Khoá học hoặc Phần mềm

Các TÀI KHOẢN

Techcombank chi nhánh  Đồng Tháp
Chủ tài khoản: Phạm Minh Tùng
Số tài khoản: 19034582981011
----------------------------------------------------
Vietcombank chi nhánh  Đồng Tháp
Chủ tài khoản: Phạm Minh Tùng
Số tài khoản: 0601000503828
---------------------------------------------------
MBBANK chi nhánh  Đồng Tháp
Chủ tài khoản: Phạm Minh Tùng
Số tài khoản: 0980199999988
----------------------------------------------------
Ví Momo
Phạm Minh Tùng
Số tài khoản: 0933558229
---------------------------------------------------

Phạm Minh Tùng  /  at  8/18/2017 10:52:00 SA  /  No comments

Với các khoá học và phần mềm trên ExcelToanTap, bạn có thể chuyển khoản theo cú pháp như sau để có thể nhận được phần mềm hoặc khóa học ngay lập tức:

nội dung chuyển khoản

Họ Tên, Số điện thoại, Khoá học hoặc Phần mềm

Các TÀI KHOẢN

Techcombank chi nhánh  Đồng Tháp
Chủ tài khoản: Phạm Minh Tùng
Số tài khoản: 19034582981011
----------------------------------------------------
Vietcombank chi nhánh  Đồng Tháp
Chủ tài khoản: Phạm Minh Tùng
Số tài khoản: 0601000503828
---------------------------------------------------
MBBANK chi nhánh  Đồng Tháp
Chủ tài khoản: Phạm Minh Tùng
Số tài khoản: 0980199999988
----------------------------------------------------
Ví Momo
Phạm Minh Tùng
Số tài khoản: 0933558229
---------------------------------------------------

Posted in: Read Complete Article»

Thứ Năm, 10 tháng 8, 2017

Bài 54. Lọc Mảng Duy Nhất, Sort Mảng và Add mảng vào ComboBox (VBA Nâng Cao)

- Ngày 10/8/2017: Khi bạn có một danh sách hàng hóa rất nhiều, nhưng đến khi nhập hàng hóa mới, bạn cần có 1 ComboBox để load lại các hàng hóa đã nhập, loại bỏ hàng hóa trùng, sắp xếp theo tên của hàng hóa, sau đây là video minh họa.
Phạm Minh Tùng  /  at  8/10/2017 01:18:00 CH  /  No comments

- Ngày 10/8/2017: Khi bạn có một danh sách hàng hóa rất nhiều, nhưng đến khi nhập hàng hóa mới, bạn cần có 1 ComboBox để load lại các hàng hóa đã nhập, loại bỏ hàng hóa trùng, sắp xếp theo tên của hàng hóa, sau đây là video minh họa.

Posted in: Read Complete Article»

Recent Comments

Copyright © 2013 Excel Toàn Tập. WP Theme-junkie converted by Bloggertheme9
Blogger templates. Proudly Powered by Blogger.