excel2007学习VBA之笔记--计算混合料孔隙比

1.怎样选择某列有数值的全部?

Dim rng As Range
Set rng=Range([C2],Cells(Rows.Count,"C").End(xlUp))
For Each cell In rng
    ...
Next cell
Sub 遍历某列活动的单元格()
Dim rng As Range
Dim i As Integer
i = 0
Set rng = Range([A1], Cells(Rows.Count, "A").End(xlUp))
For Each cell In rng
   i = i + 1
Next cell
MsgBox i
End Sub

VBA计算混合料孔隙比:

 1 Sub 计算混合料孔隙比()
 2     ‘st_Date = Sheets("表1").Range("I2").Value
 3     Dim e1 As Double, e2 As Double, theta As Double, f As Double
 4     Sheets("sheet1").Range("a1") = "f"
 5     Sheets("sheet1").Range("B1") = "e1"
 6     Sheets("sheet1").Range("C1") = "e2"
 7     Sheets("sheet1").Range("D1") = "theta2low"
 8     Sheets("sheet1").Range("F1") = "f1"
 9     Sheets("sheet1").Range("G1") = "f2"
10     Sheets("sheet1").Range("H1") = "f3"
11     Sheets("sheet1").Range("I1") = "f4"
12     Sheets("sheet1").Range("J1") = "f5"
13     Sheets("sheet1").Range("K1") = "f6"
14     Sheets("sheet1").Range("L1") = "f7"
15     Sheets("sheet1").Range("M1") = "f8"
16     Sheets("sheet1").Range("N1") = "f9"
17
18     Dim i As Integer, j As Integer
19     ‘给定初始值
20     For i = 2 To 10
21         Sheet1.Cells(i, 1) = "f" & i - 1
22         If i < 10 / 2 + 1 Then
23             Sheet1.Cells(i, 2) = 0.2 * (i - 1) ‘e1
24             Sheet1.Cells(i, 3) = 1 ‘e2
25         Else
26             Sheet1.Cells(i, 2) = 1
27             Sheet1.Cells(i, 3) = 1 - (i - 6) * 0.2
28         End If
29         Sheet1.Cells(i, 4) = (Cells(i, 2) + Cells(i, 2) * Cells(i, 3)) / (Cells(i, 2) + Cells(i, 3) + 2 * Cells(i, 2) * Cells(i, 3))
30     Next i
31     Cells(1, 5) = "theta" ‘石头所占体积比
32     For i = 2 To 1002
33         Cells(i, 5) = 0 + 0.001 * (i - 2)
34         For j = 1 To 9
35         If Cells(i, 5) < Cells(j + 1, 4) Then
36             Cells(i, j + 5) = Cells(j + 1, 2) * (1 - Cells(i, 5)) / (Cells(i, 5) * Cells(j + 1, 2) + 1)
37         Else
38             Cells(i, j + 5) = Cells(i, 5) * Cells(j + 1, 3) / (1 + Cells(j + 1, 3) * (1 - Cells(i, 5)))
39         End If
40         Next j
41     Next i
42
43 End Sub

时间: 2024-11-05 16:07:45

excel2007学习VBA之笔记--计算混合料孔隙比的相关文章

Python学习的个人笔记(基础语法)

Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅,一开始保存在word上,代码不是很好看,于是决定复制到博客里面,可能有复制过程中出错的,或者我本身在理解方面有出错的地方,希望能得到指正,谢谢  后续的内容我会继续学习…… python下载地址  www.python.org Python 分为2.7和3.3两个版本,3.3有些库不兼容,因此用2.

《学习opencv》笔记——矩阵和图像操作——cvDet,cvDit,cvDotProduct,cvEigenVV and cvFlip

矩阵和图像的操作 (1)cvDet函数 其结构 double cvDet(//计算矩阵的行列式 const CvArr* mat ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main() { double va[] = {1,0,0,0,2,0,0,0,3}; CvMat Va=cvMa

学习shell脚本笔记

1.if 是单分支语句,使用格式如下: if condition ; then statement -.. fi 2.if - else 是双分支语句,使用格式如下: if condition ; then statement -. else statement -. fi 3.if -elif-elif-else 是多分支语句,使用格式如下: if condition ; then statement -. elif condition ; then statement -.. elif co

EXCEL的VBA开发笔记

最近需要帮忙用EXCEL记一些账目,为了提高效率,稍微学习下了VBA进行编程,笔记之. 在EXCEL中按alt+F11就能跳到VB的开发界面 变量定义: Dim        变量as 类型   '定义为局部变量,如 Dim          xyz as integerPrivate    变量as 类型   '定义为私有变量,如 Private       xyz as bytePublic     变量as 类型   '定义为公有变量,如 Public        xyz as sing

《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor

矩阵和图像的操作 (1)cvCrossProduct函数 其结构 void cvCrossProdust(//计算两个三维向量的叉积 const CvArr* src1, const CvArr* src2, CvArr* dst ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main()

《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS

矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 int count,//给定向量的组数 CvArr* cov_mat,//结果矩阵 CvArr* avg,//根据flag得到结果 int flags//标记位 ); 标记位参数值极其意义 标志参数的具体标志值 意义 CV_COVAR_NORMAL 计算均值和协方差 CV_COVAR__SCRAM

《学习opencv》笔记——矩阵和图像操作——cvSum,cvSVD,cvSVBkSb,cvTrace,cvTranspose,cvXor,cvXorS and cvZero

矩阵和图像的操作 (1)cvSum函数 其结构 CvScalar cvSum(//计算arr各通道所有像素总和 CvArr* arr//目标矩阵 ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main() { IplImage *src1,*dst1,*dst2,*dst3,*dst4;

《学习opencv》笔记——矩阵和图像操作——cvMinManLoc,cvMul,cvNot,cvNorm and cvNormalize

矩阵和图像的操作 (1)cvMinManLoc函数 其结构 void cvMinMaxLoc(//取出矩阵中最大最小值 const CvArr* arr,//目标矩阵 double* min_val,//最小值 double* max_val,//最大值 CvPoint* min_loc = NULL,//最小值位置 CvPoint* max_loc = NULL,//最大值位置 const CvArr* mask = NULL//矩阵"开关" ); 实例代码 #include <

《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis

矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lower,//阈值下限 const CvArr* upper,//阈值上限 CvArr* dst//结果图像 ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream