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»

0 nhận xét:

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»

0 nhận xét:

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»

0 nhận xét:

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»

0 nhận xét:

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»

0 nhận xét:

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»

0 nhận xét:

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»

0 nhận xét:

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»

1 nhận xét:

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»

0 nhận xét:

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

0 nhận xét:

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»

8 nhận xét:

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»

0 nhận xét:

Recent Comments

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