欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

WPS文件中如何運行代碼? wps表格運行代碼的教程

  發(fā)布時間:2024-11-14 10:12:35   作者:佚名   我要評論
在WPS表格中,通過VBA代碼自定義單元格樣式可以極大地提高工作效率,表格中怎么運行代碼呢?下面我們就來看看詳細的教程

也可以監(jiān)視變量值

數(shù)據(jù)類型

數(shù)值分為整數(shù)和浮點數(shù),都是number類型

var a=Math.trunc(5.984)  //截取整數(shù)
var b=Math.random()  //生成隨機小數(shù)
var c=Math.pow(5,2)  //乘冪
var d=Math.max(3,5)  //求最大值
var d=Math.min(3,5)  //求最小值

字符串是string類型

var a="3.14"
	var b="hello\nworld"
	var c=a+b  //字符串相加,會變成字符串連接

字符串轉數(shù)值

var a="3"
	var b=5
	b=Number(a)

數(shù)值轉字符串

var a=3.14
	var b=String(a)

進制轉換

var a=12
	var b=a.toString(2)  //轉換成二進制,結果為字符串類型
	var b=a.toString(16)  //轉換成十六進制,結果為字符串類型

變量申明和賦值

變量有三種聲明變量的方式const、var、let

  • const 常量
  • let 變量申明(作用域更小)
  • var 變量申明(作用域更大)
  • var a;//申明單個變量
  • var b,c,d;//申明多個變量
  • var e=1,f=2,g=3.2//申明多個變量并賦值數(shù)據(jù)類型

單元格邊界獲取

得到當前有數(shù)據(jù)內容的單元格行數(shù)

像上面的表格,

如果選中A1單元格,按CTRL+方向右鍵就會跳到F1,按CTRL+方向下鍵就會跳到A9

如果選中A12單元格,按CTRL+方向右鍵就會跳到F12,按CTRL+方向下鍵就會跳到A20

就可以轉換成代碼:

Range("A1").End(xlToRight).Select();
	Range("A1").End(xlDown).Select();
	Range("A12").End(xlToRight).Select();
	Range("A12").End(xlDown).Select();
	var a=Range("A1").End(xlToRight).Column;
	var b=Range("A1").End(xlToRight).Row;

自動填寫表格例程

//測試函數(shù)
function test(){
	if(Selection.Column==1 && Selection.Count==1){
		Range('D7').Value2=Selection.Value2
	} else if(Selection.Column==2 && Selection.Count==1){
		Range('D8').Value2=Selection.Value2
	}
}

寫入上面代碼,如果選中第1列并且選中單元格數(shù)量是1個,就讓D7單元格值等于選中單元格。如果選中第2列并且選中單元格數(shù)量是1個,就讓D8單元格值等于選中單元格。

做一個按鈕來允許宏

按鈕可以輸入文字,給按鈕指定宏,宏名字就是test。

然后我們選中第一列的一個單元格,再點擊按鈕,D7就會自動賦值了。

把工作表名字改成“測試表1”

然后加如下代碼

function Workbook_SheetSelectionChange(Sh,Target)
{
	if(Sh.Name=='測試表1'){
		test()
	}
}

Workbook_SheetSelectionChange是整個工作簿的回調函數(shù),當選擇單元格發(fā)生變化的時候就會調用。調用的時候判斷當前工作表是不是“測試表1”,如果是就自動運行test宏。

這樣就不需要去點按鈕了,每次改變選擇的單元格就會自動運行。

字符串

數(shù)組

arr=Range('A1:C5').Value2

就把上面選中單元格的內容保存到數(shù)組arr中了,表格下標從0開始,即arr[0][0]保存的時A1單元格內容

function test2(){
	const arr=ThisWorkbook.Sheets('測試表1').Range('A5').CurrentRegion.Value2
	arr.reverse()
	Range('F5').Resize(arr.length,arr[0].length).Value2=arr
}

CurrentRegion是當前單元格挨著的有內容的單元格全部選中,類似于選中A5單元格然后按alt+A

代碼第一行就把上面選中的所有單元格內容保存到數(shù)組arr中了

arr.reverse()是把數(shù)組內容倒過來

Resize(行數(shù),列數(shù)) 是指定單元格行數(shù)和列數(shù)。

arr.length就是數(shù)組的行數(shù)。arr[0].length是指的數(shù)組第一行的列數(shù)

代碼第3行就是把數(shù)組賦值給F5打頭的單元格區(qū)域

function submitData(){
	if(checkData()==true){ //自己寫個函數(shù)來檢查數(shù)據(jù)是否異常   ==true可以省略,通常只寫if(checkData())
		const arr=Range('C6').CurrentRegion.Value2		
		const Data=[] //準備一個數(shù)組來裝數(shù)據(jù)		
		const targetRow=Sheets('操作記錄').Range('A65535').End(3).Row+1  //先取得數(shù)據(jù)表的最大非空行位并+1作為要寫入數(shù)據(jù)的行位
		let r=0//等下要用r來記錄是第幾行數(shù)量,方便寫金額公式的時候判斷行位
		for(i=4;i<=11;i++){
			if(arr[i][1]){  //如果單元格有內容
				//金額寫成公式字符串,這里使用反引號,在鍵盤左上角數(shù)字1的左側,反引號里變量可以用${}標出
				let strAmount=`=D${targetRow+r}*F${targetRow+r}`  //假如r=0,targetRow=2,這里就是'D2*F2'
				r++//遇到數(shù)量非空行r自增1假如有三行數(shù)據(jù),到第三行時r=2,公式就是 D4*F4
				//接下來按數(shù)據(jù)表的列 構建一個數(shù)組
				//人員 領貨日期 領貨型號 數(shù)量 xxx單價 金額 備注
				let rowItem=[arr[1][1],arr[0][1],arr[2][1],arr[i][1],arr[2][3],arr[i][2],strAmount,arr[i][3]]
				//利用push方法把上面的數(shù)組一行一行塞進Data構成二維數(shù)組
				Data.push(rowItem)
			}
		}
		Sheets('操作記錄').Range(`A${targetRow}`).Resize(Data.length,Data[0].length).Value2=Data 
		Sheets('測試表1').Range('D7:D8').ClearContents()
		Sheets('測試表1').Range('D7').Select()
	}else{
		alert('信息不全')
	}
}

單元格為空檢查

const DateNotNull= Range('D6').Value2 !=null

打印數(shù)組內容

var arr=Range("a2:b5"). Value2
	Console.log(JSON. stringify(arr))

數(shù)據(jù)輸入框、提示框

//	InputBox("請輸入分數(shù)")  //輸入框
//	let num=InputBox("請輸入分數(shù)","提示",100,100,200)  //第2參數(shù)是標題;第3參數(shù)是默認值;第4/5參數(shù)是窗口坐標
//	alert(num)  //消息提示框
//	MsgBox("你好")
	MsgBox("你好",jsYesNo)  //帶是/否按鈕的消息框
	MsgBox("你好",jsYesNoCancel)  //帶是/否/取消按鈕的消息框  MsgBox修改第2參數(shù)還支持很多樣式

以上就是小編對用戶提出問題整理出來的方法步驟,用戶從中知道了大致的操作過程為點擊開發(fā)工具——查看代碼——運行——運行子過程/用戶窗體——創(chuàng)建——輸入代碼這幾步,方法簡單易懂,希望大家喜歡,請繼續(xù)關注腳本之家。

相關文章

最新評論