怎樣編寫代碼控制excel數據
⑴ 怎樣在excel中運行代碼
第一步、首先,打開Excel表格程序,進入到Excel表格程序主界面中。
⑵ excel如何編程 在EXCEL中如何編寫程序
1、打開excel軟體,點擊左上角「文件」。
2、點擊選項。
3、在excel選項界面點擊自定義功能區,勾選開發工具,點擊確定。
4、開啟開發工具後就可以在主菜單上看到開發工具選項卡了,需要打開VBA就在開發工具選項卡點擊visualbasic即可。
5、寫一個簡單代碼,在VBA窗口選擇插入-模塊,新建一個模塊。點擊模塊1,在右邊編輯框輸入代碼。
6、代碼編寫完成後,在Excel界面上點擊開發工具--宏--選擇名字a--執行,即可執行a代碼;運行完成後,A1的內就變成了「這是我的第一個代碼」。
⑶ 怎樣在EXCEL中插入一個按鈕,實現對數據的簡單控制
實現A1+1很簡單
把下面代碼復制進工作表的宏代碼框
然後選擇 開發工具--插入按鈕--選擇「A1加1()」這個宏即可
Sub A1加1()
Range("A2").Select
Dim i
i = Range("a1")
Range("a1") = i + 1
End Sub
⑷ 如何在c#下讀取EXCEl表格中的數據,最好寫一段代碼
(轉)
創建、打開、讀取、寫入、保存的一般性代碼:
usingSystem;
usingSystem.Reflection;//引用這個才能使用Missing欄位
namespaceCExcel1
{
classClass1
{
[STAThread]
staticvoidMain(string[]args)
{
//創建Application對象
Excel.ApplicationxApp=newExcel.ApplicationClass();
xApp.Visible=true;
//得到WorkBook對象,可以用兩種方式之一:下面的是打開已有的文件
Excel.WorkbookxBook=xApp.Workbooks._Open(@"D:\Sample.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代碼
//指定要操作的Sheet,兩種方式:
Excel.WorksheetxSheet=(Excel.Worksheet)xBook.Sheets[1];
//Excel.WorksheetxSheet=(Excel.Worksheet)xApp.ActiveSheet;
//讀取數據,通過Range對象
Excel.Rangerng1=xSheet.get_Range("A1",Type.Missing);
Console.WriteLine(rng1.Value2);
//讀取,通過Range對象,但使用不同的介面得到Range
Excel.Rangerng2=(Excel.Range)xSheet.Cells[3,1];
Console.WriteLine(rng2.Value2);
//寫入數據
Excel.Rangerng3=xSheet.get_Range("C6",Missing.Value);
rng3.Value2="Hello";
rng3.Interior.ColorIndex=6;//設置Range的背景色
//保存方式一:保存WorkBook
xBook.SaveAs(@"D:\CData.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value);
//保存方式二:保存WorkSheet
xSheet.SaveAs(@"D:\CData2.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//保存方式三
xBook.Save();
xSheet=null;
xBook=null;
xApp.Quit();//這一句是非常重要的,否則Excel對象不能從內存中退出
xApp=null;
}
}
}
⑸ 求一用於EXCEL中處理數據的宏代碼!
Sub 替換()
Dim rg, cel As Object
Set rg = Application.InputBox("請選擇第一列姓名", , "range", , , , , 8)
For Each cel In rg
If cel = "張三" And cel.Offset(, 1) = "張三豐" Then cel.Offset(, 1) = cel.Offset(, 2): cel.Offset(, 2) = "三四"
If cel = "李四" And cel.Offset(, 1) = "李四通" Then cel.Offset(, 1) = cel.Offset(, 2): cel.Offset(, 2) = "三四"
Next
End Sub
點開圖片查看
⑹ excel中用vba編寫限制excel使用次數的代碼
Private Sub Workbook_Open()
Worksheets(2).ScrollArea = "A1:IV65535"
If Sheets("Sheet2").Cells(65536, 256).Value < 3 Then
Sheets("Sheet2").Cells(65536, 256).Value = Sheets("Sheet2").Cells(65536, 256).Value + 1
ActiveWorkbook.Save
Else
a = InputBox("請輸入密碼", "密碼驗證")
If a <> "abc" Then
Application.Quit
End If
End If
End Sub
打開次數的存放的解決辦法:我選擇存放在Sheet2的最下腳,並將Cells(65536, 256).設置為白色。然後將最後一行放棄(使不能選擇)這樣用戶就看不到這個數字,就是看到了也不能修改
然後你可以去將你的宏加入數字簽名。這樣就可以強制使用宏了。
有什麼新發現或者更好的辦法也告訴我一聲
⑺ 急求excel中函數或VB代碼實現控制單元格數據
如圖我的理解是:A1的值是B列中「A」的個數,A2的值是B列中「B」的個數。。。
按此思路,以下宏滿足你的要求,且可隨時更改A列中各值
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Dim bf, aRow, bRow, a, b, bLine, aArr, bArr
Range("B:B").ClearContents
aRow = [A1000].End(xlUp).Row
If aRow = 1 Then
bLine = Target.Value
bArr = Range("B1:B" & bLine).Value
For b = 1 To bLine
bArr(b, 1) = "A"
Next
Else
aArr = Range("A1:A" & aRow).Value
For a = 1 To aRow
bLine = bLine + aArr(a, 1)
Next
bArr = Range("B1:B" & bLine).Value
bRow = 1
For a = 1 To aRow
If Len(bf) Then
bf = Chr(Asc(bf) + 1)
Else
bf = "A"
End If
For b = bRow To aArr(a, 1) + bRow - 1
bArr(b, 1) = bf
Next b
bRow = bRow + aArr(a, 1)
Next a
End If
Range("B1:B" & bLine) = bArr
End If
End Sub
代碼已驗證,可放心使用
⑻ 在EXCEL中如何編寫程序
程序,即Excel中的VBA,有很多方法可以進入VBA設計界面
這里說一下一種比較傻瓜式的辦法,適用於當獲得一段代碼直接使用的情況
詳細步驟如下:
1.開發工具,錄制宏
⑼ EXCEL宏代碼編寫
給你把每句的含義寫上注釋吧,因為你的目標不是很明確,你根據注釋稍做修改就可以用了
Sub Macro7()
'
' Macro7 Macro
' 宏由 qx 錄制,時間: 2007-4-2
'
'
Charts.Add '增加EXCEL圖表
ActiveChart.ChartType = xlLineMarkers '指定剛剛新加的EXCEL圖表類型
ActiveChart.SetSourceData Source:=Sheets("Sheet7").Range("G5:G34"), PlotBy _
:=xlColumns '指定剛剛新加的EXCEL圖表數據源,如果數據源發生變化,修改("Sheet7")為相應工作表名,("G5:G34")為相應區域即可
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet7"
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With '指定剛剛新加的EXCEL圖表的坐標
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic '指定剛剛新加的EXCEL圖表的坐標格式
ActiveWindow.Visible = False '把當前窗口隱藏,這句挺奇怪的
Windows("Instry_by_province.xls").Activate '激活指定EXCEL文件
Sheets("Sheet7").Select '激活指定的工作表,此處也就是數據源表
End Sub
---------------------------------------------------------
我給你做最最簡單的修改吧,在開始由你指定數據源和圖表所在工作表的名稱。有什麼問題可以再問,關鍵是你想怎麼做。
Sub Macro7()
'
' Macro7 Macro
' 宏由 qx 錄制,時間: 2007-4-2
'
'
strSheetName=InputBox("請輸入數據源Sheet名")
Charts.Add '增加EXCEL圖表
ActiveChart.ChartType = xlLineMarkers '指定剛剛新加的EXCEL圖表類型
ActiveChart.SetSourceData Source:=Sheets(strSheetName).Range("G5:G34"), PlotBy _
:=xlColumns '指定剛剛新加的EXCEL圖表數據源,如果數據源發生變化
ActiveChart.Location Where:=xlLocationAsObject, Name:=strSheetName
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With '指定剛剛新加的EXCEL圖表的坐標
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic '指定剛剛新加的EXCEL圖表的坐標格式
ActiveWindow.Visible = False '把當前窗口隱藏,這句挺奇怪的
Windows("Instry_by_province.xls").Activate '激活指定EXCEL文件
Sheets(strSheetName).Select '激活指定的工作表,此處也就是數據源表
End Sub
⑽ excel VBA和宏寫代碼實現數據讀取和計算。
其實就是兩個操作。
1、統計M列,區域:連續360個以上的單元格都為0,這樣的區域總共有多少個?
2、將M列所有數字為1的單元格,填充色改為其它顏色(例如紅色)。
相應完整VBA代碼如下:
Subcount01_by_zzllrr()
Dimn,n0,n1,i,v
n=0
n0=0
n1=False
IfRange("M1")=0Then
n0=1
EndIf
Fori=2ToColumns("M:M").Find("*",,,,1,2).Row
v=Range("M"&i)
Ifv=1Then
Range("M"&i).Interior.Color=255
Ifn0>360Then
n=n+1
EndIf
n0=0
IfNotn1Then
n1=True
EndIf
Else
Ifn1Then
n0=n0+1
EndIf
EndIf
Nexti
Range("N1")=n
MsgBox("總共"&n&",且已填寫在單元格N1")
EndSub