乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VBA常用代碼解析(第八講)

       wdmexcel 2015-08-21

      正文開始前,先插播一條廣告DimArr As Variant

      Dimi As Integer

      DimmyNewWorkbook As Integer

      myNewWorkbook= Application.SheetsInNewWorkbook

      ShName= Array('余額','單價','數(shù)量''金額')

      Arr= Array('01','02','03''04','05','06''07','08''09','10''11','12')

      Application.SheetsInNewWorkbook= 4

      SetNowbook = Workbooks.Add

      WithNowbook

      For i = 1 To 4

      With .Sheets(i)

      .Name = ShName(i - 1)

      .Range('B1').Resize(1,UBound(Arr) 1) = Arr

      .Range('A2') = '品名'

      End With

      Next

      .SaveAs Filename:=ThisWorkbook.Path &'\' & '存貨明細.xls'

      .Close Savechanges:=True

      EndWith

      SetNowbook = Nothing

      Application.SheetsInNewWorkbook= myNewWorkbook

      End Sub

      代碼解析:

      AddNowbook過程使用Add方法建立新的工作簿并對新建工作簿進行操作。

      2行到第6行代碼聲明變量類型。

      7行代碼保存Excel自動插入到新工作簿中的工作表數(shù)目。

      8、9行代碼將數(shù)組元素賦值給變量。

      10行代碼將Application對象的SheetsInNewWorkbook屬性設置為4,在新建工作簿時插入4張工作表。

      11行代碼使用Add方法建立新的工作簿,應用于Workbooks對象的Add方法新建工作簿,新建的工作簿將成為活動工作簿。

      12行到第22行代碼操作新建工作簿。其中第15行到第17行代碼將新建工作簿的工作表進行重命名并給單元格賦值。第20行代碼使用SaveAs方法將新建工作簿重命名為“存貨明細.xls”保存在同一目錄中。第21行代碼使用Close方法關閉工作簿。

      24行代碼恢復工作簿的默認設置。

      運行AddNowbook過程將在工作簿同一目錄中新建“存貨明細.xls”工作簿,新建工作簿格式。

      注意本例中沒有考慮工作簿同名因素,如果目錄中已有“存貨明細.xls”工作簿,運行時會顯示對話框,選擇“是”即可,否則將會出錯。

      042 打開指定的工作簿

      VBA中使用Open方法打開一個工作簿,如下面的代碼所示。

      Sub Openfile()

      Dimx As Integer

      Forx = 1 To Workbooks.Count

      If Workbooks(x).Name = '123.xls'Then

      MsgBox ““'123”“工作簿已經(jīng)打開!'

      Exit Sub

      End If

      Next

      Workbooks.OpenThisWorkbook.Path & '\123.xls'

      End Sub

      代碼解析:

      Openfile過程打開同一目錄中的“123工作簿。

      3行代碼利用Workbook對象的Count屬性取得打開工作簿的數(shù)目,使用For...Next 語句遍歷所有打開的工作簿。遍歷工作簿除了使用For...Next 語句外還可以使用For...Each...Next語句來遍歷Workbook對象集合中的所有元素,請參閱▲46-1。

      4行到第8行代碼遍歷所有打開的工作簿,如果Workbook對象集合中存在“123”工作簿,說明“123”工作簿已打開。

      9行代碼如果“123”工作簿沒有被打開則使用Open方法打開“123”工作簿。

      Open方法應用于Workbooks 對象時打開一個工作簿,語法如下:

      expression.Open(FileName,UpdateLinksReadOnly,Format,PasswordWriteResPassword,IgnoreReadOnlyRecommended,Origin,DelimiterEditable,NotifyConverter,AddToMru,Local,CorruptLoad)

      參數(shù)expression是必需的,返回一個Workbooks對象

      參數(shù)FileName是必需的,要打開的工作簿的文件名。

      參數(shù)UpdateLinks是可選的,指定文件中鏈接的更新方式。如果省略本參數(shù),則提示用戶選擇鏈接的更新方式。否則,該參數(shù)的取值應為表格中的某個值。

      參數(shù)ReadOnly是可選的,如果該值為True,則以只讀模式打開工作簿。

      參數(shù)Format是可選的,如果MicrosoftExcel正在打開一個文本文件,則該參數(shù)用于指定分隔字符,如表格所示。如果省略本參數(shù),則使用當前的分隔符。

      參數(shù)Password是可選的,該字符串指定打開一個受保護工作簿的密碼。如果省略該參數(shù)并且指定工作簿已設置密碼,則提示用戶輸入密碼。

      參數(shù)WriteResPassword是可選的,該字符串為一個寫保護工作簿的寫入權(quán)密碼。如果省略該參數(shù)并且指定工作簿已設置密碼,則提示用戶輸入密碼。

      參數(shù)IgnoreReadOnlyRecommended是可選的,如果該值為True,則設置Microsoft Excel不顯示建議只讀消息(如果該工作簿以“建議只讀”選項保存)。

      參數(shù)Origin是可選的,如果文件為文本文件,則該參數(shù)用于指示該文件來源于何種操作系統(tǒng)。

      參數(shù)Delimiter是可選的,如果該文件為文本文件并且Format參數(shù)為 6,則此參數(shù)用于指定用作分隔符的字符。

      參數(shù)Editable是可選的,如果該文件為MicrosoftExcel 4.0加載宏,則該參數(shù)的值為True時可打開該加載宏以便在窗口中看到。如果該參數(shù)的值為False或者省略該參數(shù),則該加載宏以隱藏方式打開,并且無法設為可見。

      參數(shù)Notify是可選的,當該文件不能以可讀寫模式打開時,如果該參數(shù)的值為True,則可將該文件添加到文件通知列表。

      參數(shù)Converter是可選的,打開文件時試用的第一個文件轉(zhuǎn)換器的索引號。

      參數(shù)AddToMru是可選的,如果該值為True,則將該工作簿添加到最近使用的文件列表中。默認值為False。

      參數(shù)Local是可選的,如果該值為True,則以Microsoft Excel(包括控制面版設置)的語言保存文件。如果該值為False(默認值),則以 VisualBasic for Applications (VBA)的語言保存文件,其中VisualBasic for Applications (VBA)為典型安裝的美國英語版本,除非VBA項目的Workbooks.Open來自舊的國際化的XL5/95 VBA項目。

      參數(shù)CorruptLoad是可選的,可為以下常量之一:xlNormalLoadxlRepairFile xlExtractData。如果未指定任何值,則默認值通常為普通狀態(tài)。

      043 判斷指定工作簿是否打開

      043-1 遍歷Workbooks集合方法

      通過遍歷當前應用程序所有已打開的工作簿文件(Workbooks集合),判斷指定名稱的工作簿是否打開,如下面的代碼所示。

      Sub WorkbookIsOpen_1()

      DimWb As Workbook

      DimmyWb As String

      myWb= 'Excel Home.xls'

      ForEach Wb In Workbooks

      If Wb.Name = myWb Then

      MsgBox '工作簿' & myWb & '已經(jīng)被打開!'

      Exit Sub

      End If

      Next

      MsgBox'工作簿' & myWb & '沒有被打開!'

      End Sub

      代碼解析:

      WorkbookIsOpen_1過程通過遍歷當前應用程序中所有已打開的工作簿文件(Workbooks集合),判斷“Excel Home”工作簿是否打開。

      5行代碼使用For...Each...Next語句來遍歷Workbook對象集合中的所有元素。

      6行到第8行代碼如果Workbook對象集合包含“Excel Home.xls”工作簿名稱,說明文件已打開,使用Exit Sub語句結(jié)束代碼的運行。

      11行代碼如果運行到此行代碼說明“Excel Home.xls”工作簿沒有被打開。

      043-2 錯誤處理方法

      使用錯誤處理程序判斷指定名稱的工作簿是否打開,如下面的代碼所示。

      Sub WorkbookIsOpen_2()

      DimWb As Workbook

      DimmyWb As String

      myWb= 'Excel Home.xls'

      Err.Clear

      On ErrorGoTo line

      SetWb = Application.Workbooks(myWb)

      MsgBox'工作簿' & myWb & '已經(jīng)被打開!'

      SetWb = Nothing

      ExitSub

      line:

      MsgBox'工作簿' & myWb & '沒有被打開!'

      SetWb = Nothing

      End Sub

      代碼解析:

      WorkbookIsOpen_2過程使用錯誤處理程序判斷“Excel Home”工作簿是否打開。

      5行代碼使用Clear方法清除Err對象的所有屬性設置。

      6行代啟動錯誤處理程序,如果第7行代碼發(fā)生錯誤則執(zhí)行line行后面的代碼。

      7行代碼使用Set語句將Workbook對象引用賦給變量Wb,如果Excel Home.xls”工作簿沒有被打開將發(fā)生下標越界錯誤,此時執(zhí)行第1213行代碼,否則執(zhí)行第8、9行代碼。


        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多