九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
EXCEL學(xué)習(xí)筆記之VBA

1、變量

如果給對象項(xiàng)變量賦值,必須用set關(guān)鍵詞

Set sheet=Activesheet

如果加上Option Explicit則變量必須先聲明后使用

2、設(shè)置函數(shù)為易失性函數(shù),讓自定義函數(shù)也能重新計(jì)算

秩序在Function過程中添加一行代碼即可.

Application.Volatile True 將函數(shù)設(shè)置為易失性函數(shù) 

3、聲明動態(tài)數(shù)組

1)可以用  Dim 數(shù)組名稱()  As 數(shù)據(jù)類型

2)可以使用Array創(chuàng)建數(shù)組,如

Dim arr As  Variant

arr=Array(1,2,3,4);

3)可以使用Split

Dim arr2 As  Variant

arr=Split(葉楓,張三);

(4)數(shù)組常用運(yùn)算

UBound(數(shù)組名稱);數(shù)組的最大索引號

LBound(數(shù)組名稱);數(shù)組的最小索引號

(5)Join函數(shù)將一位數(shù)組合并組合成字符串

arr=Split(“葉楓”,“張三”);

Txt=Join(arr,,);  第二個參數(shù)為分隔個元素的分隔符,如果省略,默認(rèn)使用空格。

(6) 將數(shù)組中的數(shù)據(jù)寫入單元格區(qū)域

arr=Split(1,2,3,4,5,6);

Range.(a1:A6).Value=Application.WorksheetFunction.trasnpose(arr)

transpose函數(shù)為行列轉(zhuǎn)置的作用,如果只有一行不需要使用,直接賦值arr即可。 

4、在vba中直接使用工作表函數(shù)要加前綴Application.WorksheetFunction

如:Application.WorksheetFunction.Sum(a1:b2);

5、區(qū)域的選擇

(1)引用多個不連續(xù)的區(qū)域

無論有多少區(qū)域,參數(shù)都只有一個字符串,參數(shù)中各個區(qū)域的地址用逗號分隔

Range("A1:B2,c1:d2").Select

(2)引用多個區(qū)域的公共區(qū)域

可以將Range屬性的參數(shù)設(shè)置為一個用空格分隔的多個單元格地址組成的字符串

如:Range("B1:B10 A4:D6").Select

(3)引用兩個區(qū)域圍成的矩形區(qū)域

設(shè)置兩個用逗號隔開的參數(shù),就可以引用這兩個區(qū)域圍成的矩形區(qū)域,注意與第(1)中情況的區(qū)別

Range("A1:B2”,c1:d2").Select

(4)使用cells屬性引用單元格

RangeCells(1,1),Cells(10,5).Select

或者RangeA1,E10.Select

(5)可以使用union合并多個單元格區(qū)域

Application.Union(Range("A1:B2"), Range("c1:d2")).Select '同時選中兩個區(qū)域

(6)Worksheet對象的UsedRangeCurrentRegion屬性

UseRange屬性返回的總是一個矩形區(qū)域,無論這些區(qū)域是否存在空行、空列。

CurrentRegion屬性,返回指定單元格在內(nèi)的一個連續(xù)的區(qū)域,如Range(B5).CurrentRegion.Select  只要是斷開的區(qū)域都不統(tǒng)計(jì),哪怕空行下邊、空列右邊還有數(shù)據(jù)。

(7)Range對象的End屬性返回制定單元格的區(qū)域最尾端的單元格

Dim c As Range

Set c = ActiveSheet.Range("A10").End(xlUp)

MsgBox c.Address

有有xlToLeft,xlToRight,xlUpxlDown四種參數(shù)分別對應(yīng)左右上下。

(8)使用offset定位相鄰單元格

Range("A1").Offset(0,1)

6、擇復(fù)制粘貼

1)分三步驟

Public Sub aa()

Range("A1:B2").Select

Selection.Copy

Range("c1:d2").Select

ActiveSheet.Paste

End Sub

(2)一個命令選擇復(fù)制粘貼

Range("B1:B10").Copy Destination:=目標(biāo)單元格

無論復(fù)制的區(qū)域包含多少單元格,在設(shè)置目標(biāo)區(qū)域時,都可以只指定一個單元格作為目標(biāo)區(qū)域最左上角的單元格即可,如:

Range("B1:B10").Copy Destination:=Range(G3)

7、判斷文件夾中是否存在指定名稱的文件

Dir函數(shù),如果存在則返回該文件名,否則返回空。

8、將工作簿中的每張表存為單獨(dú)的文件

Application.ScreenUpdating = False

Dim folder As String

folder = ThisWorkbook.Path & "\分拆保存目錄"

If Len(Dir(folder, vbDirectory)) = 0 Then MkDir folder '選擇是否新建該文件夾

Dim sht As Worksheet

For Each sht In Worksheets

 vv = sht.Visible

 sht.Visible = xlSheetVisible

 sht.Copy

 sht.Visible = vv

 ActiveWorkbook.SaveAs Filename:=folder & "\" & sht.Name & ".xlsx" '保存路徑

 ActiveWorkbook.Close

Next

Application.ScreenUpdating = True

9、常用的事件

如:Workbook_Open()、OnTimerWorkSheet_Activate()、Change()

可以使用Application.OnTime Now() + TimeValue("00:00:01"), "ts"設(shè)置定時發(fā)生的事件

 

10、窗體的使用

1)首先workbookopen事件中代開窗體

Private Sub Workbook_Open()

Application.Visible = False  '啟動時先隱藏EXCEL

test.Show vbModal  '這個參數(shù)分vbModal模式窗口和vbModeless非模式窗口兩種

End Sub

(3)設(shè)置窗體的代碼

Private Sub UserForm_Initialize()

sex.List = Array("", "")

End Sub

 

Private Sub cmdExit_Click()

Unload Me '卸載代碼所在的窗體

End Sub

 

Private Sub cmdSave_Click()

Dim xrow As Long  '定義變量xrow,用來不存要輸入數(shù)據(jù)的工作表行號

xrow = Range("A1").CurrentRegion.Rows.Count + 1 '求工作表中第1條空行的行號,前提是標(biāo)題行為第一行

'將窗體的信息寫入工作表

Cells(xrow, "a").Value = txtname.Value

Cells(xrow, "b").Value = sex.Value

'將窗體中輸入的數(shù)據(jù)清除,等待下次輸入

txtname.Value = ""

sex.Value = ""

End Sub

11、VBA連接SQL SERVER數(shù)據(jù)庫操作Excel

 

Private Sub cmdDataBase_Click()

 Dim i As Integer, j As Integer, sht As Worksheet 'i,j為整數(shù)變量;sht excel工作表對象變量,指向某一工作表

 Static nowfield As String

'工具 ---〉引用 ---Microsoft ActiveX data objects ....    

'下面兩句就不需要增加引用ADO

Set cn = CreateObject("Adodb.Connection")

Set rs = CreateObject("Adodb.Recordset")

 Dim strCn As String, strSQL As String '字符串變量

 Dim strCond As String

 strCn = "Provider=SQLOLEDB;Server=(local);Database=db_ibcms;Uid=sa;Pwd=XXXX" '定義數(shù)據(jù)庫鏈接字符串

 

 '下面的語句將讀取數(shù)據(jù)表數(shù)據(jù),并將它保存到excel工作表中:工作表為一張兩維表,記錄集也是一張兩維表 

 strSQL = "select * from [tb_ttList] " '定義SQL查詢命令字符串

Dim result As Variant 

  result = cn.Open(strCn) '與數(shù)據(jù)庫建立連接,如果成功,返回連接對象cn 

  rs.Open strSQL, cn '執(zhí)行strSQL所含的SQL命令,結(jié)果保存在rs記錄集對象中    

     'sht指向當(dāng)前工作簿的sheet1工作表

    Set sht = ThisWorkbook.Worksheets("sheet1")  

 

For j = 0 To rs.Fields.Count - 1

nowfield = rs.Fields(j).Name

sht.Cells(1, j + 1).Value = nowfield '將所有的字段名列在第一行

'對每列分別進(jìn)行賦值,從第2行開始   

    i = 2

    '當(dāng)數(shù)據(jù)指針未移到記錄集末尾時,循環(huán)下列操作

    Do While Not rs.EOF

        '把當(dāng)前記錄的字段值保存到sheet1工作表的第i行第j+1

        sht.Cells(i, j + 1) = rs(nowfield)

        '把指針移向下一條記錄

        rs.MoveNext

        i = i + 1

    Loop

    rs.MoveFirst '必須返回首條記錄,否則游標(biāo)已到底,第一列后就不再填數(shù)了

Next

    '關(guān)閉記錄集

    rs.Close    

    '關(guān)閉數(shù)據(jù)庫鏈接,釋放資源

    cn.Close

End Sub

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Excel VBA編程
VBA數(shù)組(一)
vba將excel單元格區(qū)域轉(zhuǎn)化為數(shù)組
VBA中的:常量、變量和數(shù)組
跟煙花入門VBA之69:單元格對象Range(十三)
蘭版VBA數(shù)組入門10講
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服