Saturday, February 13, 2010

Count Data Rows by Void Function on VBA Excel

Dim a, RowsCount As Integer
a = 1
RowsCount = 0
With Sheets(InsSheet)
Do Until a = 0
If .Cells(a, Col) <> “” Then
RowsCount = RowsCount + 1
a = a + 1
Else: a = 0
End If
Loop
RowCountSh = RowsCount
End With

  • คลิ๊กขวาที่ ไฟล์ เลือก View Code
  • เลือกออบเจ๊กต์ Workbook, Event “Open”
  • พิมพ์ Msgbox “จำนวนแถวที่มีข้อมูลในชีต 1 คอลัมน์ 1 คือ ” & Module1.RowCountSh(1,1)
  • Save and Close file
  • เปิดไฟล์เดิมอีกครั้ง จะได้ Mesage Box ที่แสดงจำนวนแถวที่มีข้อมูลในชีต 1 คอลัมน์ 1

Monday, April 20, 2009

Split String so simple and easy [vb split string function]

แยกข้อมูลแบบสตริงอย่างง่ายๆ

1. Format of Raw Data for split
รูปแบบของข้อมูลที่จะนำมาแยกสตริง
You should know about data format for your spliting, such as
คุณควรจะทราบรูปแบบของข้อมูลที่คุณจะแยก เช่น
1.1 what delimiter ? space(” “) or slash(”/”) or mix format
อักขระที่ใช้แยกคืออะไร ใช้ ช่องว่าง ” ” หรือ สแลส “/” หรือแบบผสม
1.2 what data type to convert
จะเปลี่ยนข้อมูลที่แยกได้ไปเป็นรูปแบบใด
2. Function to use
ฟังก์ชั่นที่ใช้
Use Split Function for split data
ใช้ฟังก์ชั่น Split
Sample Code ตัวอย่างการเขียนโปรแกรม
creat one textbox and one button
สร้าง ออบเจก textbox และ Commandbutton



Option Explicit Private Sub CommandButton1_Click()
’error handler for Do Loop action over one step
On Error GoTo Err
Dim RawData As String

Dim SplitData() As String

Dim i, IndexData As Integer

Dim Answer As Variant

IndexData = 1

RawData = TextBox1.Text

SplitData = Split(RawData)

‘find number of data array

Do Until IndexData = 0

If IsNull(SplitData(IndexData - 1)) = False Then

IndexData = IndexData + 1

Else: IndexData = 0

End If

Loop

Err:

For i = 0 To IndexData - 2 Step 1
’subtract for IndexData startpoint at 1 and overstep Do Loop 1

MsgBox SplitData(i)

Next i

End Sub

Another way to use answer from Message dialog box [msgbox VB dialog box answer]


If you want to get answer from message dialog box, it’s so easy
you must define some boolean variable for that, and use Select Case function for action

dim Answer as Boolean Variant

Answer=MsgBox(”Please Click below for test”,VBOkCancel,”Test”)

Select Case Answer

Case VBOk: msgbox(”You click OK Button”)

Case VBCancel: msgbox(”You click Cancel Button”)

end Select

Create Access Database Table by VBA [access table vba]


This method using for create a table by ADOX objects.
1. Open a Catalog object on the database you want to add a table to.
2. Create a new Table object.
3. Use the Append method of the Columns collection to add the field definitions (Column objects) to the Columns collection of the new Table object.
4. Append the new Table object to the Tables collection of the Catalog object.

It is not necessary to use the Create method to create Column objects for the field definitions before you append them to the Columns collection. The Append method can be used to both create and append the Column object. The following procedure creates a table named Contacts by using ADOX.

Sub CreateAccessTable(strDBPath As String)
Dim catDB As ADOX.Catalog
Dim tblNew As ADOX.Table
Set catDB = New ADOX.Catalog
’ Open the catalog.
catDB.ActiveConnection=”Provider=Microsoft.Jet.OLEDB.4.0;” & _
”Data Source=” & strDBPath
Set tblNew = New ADOX.Table
’ Create a new Table object.
With tblNew
.Name = “Contacts”
’ Create fields and append them to the
’ Columns collection of the new Table object.
With .Columns
.Append “FirstName”, adVarWChar
.Append “LastName”, adVarWChar
.Append “Phone”, adVarWChar
.Append “Notes”, adLongVarWChar
End With
End With

’ Add the new Table to the Tables collection of the database.
catDB.Tables.Append tblNew
Set catDB = Nothing
End Sub

Sub cmdCreateDB_Click()

Call CreateAccessDatabase(“C:/TestFolder/testDB.mdb”)

End Sub


You’ll have a access database file name “testDB.mdb” in “C:/TestFolder/” and four field (FirstName, LastName, Phone and Notes) in a table name “Contacts”

Friday, October 24, 2008

VB VBA Sample Code [vb vba code]

Welcome to my VB VBA Sample Code's blog.Here you will learn about Visual VB VBA Sample Code's tips and how to find good information.