小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

vba工作簿工作表操作

 ufo999 2012-07-13

vba工作簿工作表操作...一偷到底...

處理單元格

1、用公式賦值
  在宏的使用中,可能會(huì)更多地用公式來(lái)給單元格賦值。如下例將相對(duì)于活動(dòng)單元格左側(cè)第4列、向上第6行至向上第2行的單元格數(shù)值之和賦給活動(dòng)單元格(以本行、本列為第0行、0列):
  ActiveCell.Formula="=AVERAGE(R[-6]C[-4]:R[-2]C[-4])"
2、引用其它工作表中的單元格
  當(dāng)賦值公式中需要引用其它工作表中的單元格時(shí),在被引用的單元格前加上"工作表名!"即可。如以下即在賦值中引用了"Sheet1"工作表中的A1至A4單元格:
  Range("E10").Formula="=SUM(Sheet1!R1C1:R4C1)"
  但需注意的是:當(dāng)被引用的工作表名中含有某些可能引起公式歧義的字符時(shí),需要用單引號(hào)'將工作表名括起來(lái)。如:
  Worksheets("Sheet1").ActiveCell.Formula="=Max('1-1剖面'!D3:D5)"
3、引用其它工作簿中的單元格
  在被引用單元格所在工作表名前加上"[工作簿名]",即可引用其它工作簿(當(dāng)前是否打開(kāi)?)中的單元格。如:
ActiveCell.Formula="=MAX([Book1.xls]Sheet3!R1C:RC[4])"
同樣需注意的是:當(dāng)被引用的工作簿名中含有某些可能引起公式歧義的字符時(shí),需要用中括號(hào)"["、"]"及單引號(hào)'將工作簿名括起來(lái)。如:
  Cells(1,2).Formula="=MIN('[1995-2000總結(jié).xls]1995-1996年'! $A$1:$A$6)"

4、添加、刪除、復(fù)制、剪切、粘貼單元格
  Range("D10").Insert Shift:=xlToRight '在D10單元格處添加一新單元格,原D10格右移 
  Range("C2").Insert Shift:=xlDown '在C2單元格處添加一新單元格,原C2格下移
  Rows(2).EntireRow.Insert '在第2行前添加一空白行,原第2行下移
  Columns(3).EntireColumn.Insert '在C列前添加一空白列,原C列右移
  Columns("A:D").Delete Shift:=xlToLeft '刪除A列至D列,其右側(cè)列左移
  Rows("3:5").Delete Shift:=xlUp '刪除第3行至第5行,其下方行上移
  Range("B2").EntireRow.Delete '刪除第2行
  Range("C4").EntireColumn.Delete '刪除C列
  Range("B10:C13").Copy '復(fù)制B10至C13單元格區(qū)域
  Cells(1,2).Cut '剪切B1單元格
  Range("D10").Select
  ActiveSheet.Paste '自D10單元格起粘貼剪貼板中的內(nèi)容

5、當(dāng)前單元格(活動(dòng)單元格)

刪除當(dāng)前單元格中數(shù)據(jù)的前后空格。 
sub my_trim 
Trim(ActiveCell.Value) 
end sub 
使單元格位移 
sub my_offset 
ActiveCell.Offset(0, 1).Select'當(dāng)前單元格向左移動(dòng)一格 
ActiveCell.Offset(0, -1).Select'當(dāng)前單元格向右移動(dòng)一格 
ActiveCell.Offset(1 , 0).Select'當(dāng)前單元格向下移動(dòng)一格 
ActiveCell.Offset(-1 , 0).Select'當(dāng)前單元格向上移動(dòng)一格 
end sub 
如果上述程序產(chǎn)生錯(cuò)誤那是因?yàn)閱卧癫荒芤苿?dòng),為了解除上述錯(cuò)誤,我們可以往 
sub my_offset 之下加一段代碼 on error resume next 
注意以下代碼都不再添加 sub “代碼名稱(chēng)” 和end sub請(qǐng)自己添加! 
給當(dāng)前單元格賦值: 
ActiveCell.Value = "你好?。?!" 
給特定單元格加入一段代碼: 
例如:在A1單元格中插入"HELLO" 
Range("a1").value="hello" 
又如:你現(xiàn)在的工作簿在sheet1上,你要往sheet2的A1單元格中插入"HELLO" 
1.sheets("sheet2").select 
range("a1").value="hello" 
或2.Sheets("sheet1").Range("a1").Value = "hello" 
說(shuō)明: 
1.sheet2被打開(kāi),然后在將“HELLO"放入到A1單元格中。 
2.sheet2不被打開(kāi),將“HELLO"放入到A1單元格中。刪除當(dāng)前單元格中數(shù)據(jù)的前后空格。 
sub my_trim 
Trim(ActiveCell.Value) 
end sub 
使單元格位移 
sub my_offset 
ActiveCell.Offset(0, 1).Select'當(dāng)前單元格向左移動(dòng)一格 
ActiveCell.Offset(0, -1).Select'當(dāng)前單元格向右移動(dòng)一格 
ActiveCell.Offset(1 , 0).Select'當(dāng)前單元格向下移動(dòng)一格 
ActiveCell.Offset(-1 , 0).Select'當(dāng)前單元格向上移動(dòng)一格 
end sub 
如果上述程序產(chǎn)生錯(cuò)誤那是因?yàn)閱卧癫荒芤苿?dòng),為了解除上述錯(cuò)誤,我們可以往 
sub my_offset 之下加一段代碼 on error resume next 
注意以下代碼都不再添加 sub “代碼名稱(chēng)” 和end sub請(qǐng)自己添加! 
給當(dāng)前單元格賦值: 
ActiveCell.Value = "你好!??!" 
給特定單元格加入一段代碼: 
例如:在A1單元格中插入"HELLO" 
Range("a1").value="hello" 
又如:你現(xiàn)在的工作簿在sheet1上,你要往sheet2的A1單元格中插入"HELLO" 
1.sheets("sheet2").select 
range("a1").value="hello" 
或2.Sheets("sheet1").Range("a1").Value = "hello" 
說(shuō)明: 
1.sheet2被打開(kāi),然后在將“HELLO"放入到A1單元格中。 
2.sheet2不被打開(kāi),將“HELLO"放入到A1單元格中。

設(shè)置單元格格式
當(dāng)前單元格定為:左對(duì)齊 
Selection.HorizontalAlignment = xlLeft 
當(dāng)前單元格定為:中心對(duì)齊 
Selection.HorizontalAlignment = xlCenter 
當(dāng)前單元格定為:右對(duì)齊 
Selection.HorizontalAlignment = xlRight 
當(dāng)前單元格為百分號(hào)風(fēng)格 
Selection.Style = "Percent" 
當(dāng)前單元格字體為粗體 
Selection.Font.Bold = True 
當(dāng)前單元格字體為斜體 
Selection.Font.Italic = True 
當(dāng)前單元格字體為宋體20號(hào)字 
With Selection.Font 
.Name = "宋體" 
.Size = 20 

四)、圖表
  1、工作表圖表
  以下為一添加工作表圖表的實(shí)例。
  Charts.Add after:=Worksheets("Sheet1") '在"Sheet1"工作表之后添加新圖表工作表
  ActiveChart.ChartType=xlXYScatterSmooth '圖表類(lèi)型為XY平滑線(xiàn)散點(diǎn)圖
  ActiveChart.SetSourceData Source:=Sheets("結(jié)點(diǎn)坐標(biāo)").Range("A1:B69"), PlotBy:= _
  xlColumns '圖表數(shù)據(jù)來(lái)源于"結(jié)點(diǎn)坐標(biāo)"工作表的A1至B69單元格,且按列繪圖。
  ActiveChart.Location Where:=xlLocationAsNewSheet
  With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "節(jié)點(diǎn)坐標(biāo)" '圖表標(biāo)題"節(jié)點(diǎn)坐標(biāo)"
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "x" 'x軸標(biāo)題"x"
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "y" 'y軸標(biāo)題"y"
  End With
  With ActiveChart.Axes(xlCategory)
    .HasMajorGridlines = True '顯示x軸主網(wǎng)格線(xiàn),默認(rèn)情況下為顯示
    .HasMinorGridlines = True '顯示x軸次網(wǎng)格線(xiàn),默認(rèn)情況下為不顯示
  End With
  With ActiveChart.Axes(xlValue)
    .HasMajorGridlines = True '標(biāo)出x軸主網(wǎng)格值,默認(rèn)情況下為標(biāo)注
    .HasMinorGridlines = False '取消x軸次網(wǎng)格值標(biāo)注,默認(rèn)情況下為不標(biāo)注
  End With
  ActiveChart.Legend.Position = xlRight '圖例顯示在圖表右側(cè)
  2、嵌入式圖表
  嵌入式圖表僅在添加方式及引用格式上與工作表圖表有所不同,而對(duì)圖表的設(shè)置基本類(lèi)似。詳見(jiàn)下例。
  Set嵌入表=ActiveSheet.ChartObjects.Add(0,0,200,300) '在當(dāng)前工作表(0,0)坐標(biāo)處添加寬200,高300的嵌入式圖表
  嵌入表.Chart.ChartType = xlColumnClustered '圖表類(lèi)型為簇狀柱形圖
  嵌入表.Chart.SetSourceData Source:=Sheets(1).Range("A2:B2"), PlotBy:=xlRows '設(shè)置圖表數(shù)據(jù)來(lái)源
  With 嵌入表.Chart
    .HasTitle = False '無(wú)圖表標(biāo)題
    .Axes(xlCategory, xlPrimary).HasTitle = False '無(wú)x軸標(biāo)題
    .Axes(xlValue, xlPrimary).HasTitle = False '無(wú)y軸標(biāo)題
  End With

五)、工作表
  1、添加
  Sheets.Add before:=Sheets(1) '在第1工作表前添加新工作表
  Sheets.Add after:=Sheets(Sheets.Count) '在最后工作表后添加新工作表
  2、移動(dòng)
  ActiveSheet.Move before:=Sheets(2) '將當(dāng)前工作表移動(dòng)至第2工作表之前
  3、命名
  ActiveSheet.Name="工作表名" '將當(dāng)前工作表命名為"工作表名"
  4、刪除
  可以用以下語(yǔ)句刪除當(dāng)前工作表。
  ActiveSheet.Delete
  但在刪除前Excel會(huì)自動(dòng)彈出提示框,需在用戶(hù)確認(rèn)后方可執(zhí)行刪除。為避免這一干擾,可以先用以下語(yǔ)句關(guān)閉Excel的警告提示。
  Application.DisplayAlerts = False
  在刪除完成后,再重新打開(kāi)Excel的警告提示
  Application.DisplayAlerts = True

隱藏工作表 
'隱藏SHEET1這張工作表 
  sheets("sheet1").Visible=False 
'顯示SHEET1這張工作表 
  sheets("sheet1").Visible=True 

  六)、工作簿
  Excel的宏對(duì)工作簿的操作主要為保存。
  Dim 存盤(pán)文件名 As String
  ActiveWorkbook.Save '保存當(dāng)前工作簿
  存盤(pán)文件名="工作表名"
  ActiveWorkbook.SaveAs Filename:= 存盤(pán)文件名 '當(dāng)前工作簿另存為"工作表名.xls"
  在另存時(shí),若指定的存盤(pán)文件名不包含路徑,則保存在該工作簿的打開(kāi)目錄下。而若此存盤(pán)文件已存在,也可用關(guān)閉Excel警告提示的方法以免其自動(dòng)彈出提示框。

保護(hù)工作簿 
ActiveSheet.Protect 
取消保護(hù)工作簿 
ActiveSheet.Unprotect 
給當(dāng)前工作簿改名為 "liu" 
ActiveSheet.Name = "liu" 
增加一個(gè)工作簿 
Worksheets.Add 
刪除當(dāng)前工作簿 
activesheet.delete 
打開(kāi)一個(gè)文件(工作簿) 
Workbooks.Open FileName:="C:\My Documents\Book2.xls" (絕對(duì)路徑)(相對(duì)路徑?)
關(guān)閉當(dāng)前工作簿 
ActiveWindow.Close 

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多