请问高手在2003版会计常用excelVBA代码中如何用VBA调用自带函数?比如mid(sheet(3,2),3,2)

(window.slotbydup=window.slotbydup || []).push({
id: '3284507',
container: s,
size: '0,0',
display: 'inlay-fix'
Excel中有关打印预览的一些VBA代码
显示指定工作表的打印预览,假如该工作表名称为&Sheet1&:
Worksheets(&Sheet1&).PrintPreview
显示活动工作表的打印预览:
Worksheets(&Sheet1&).PrintPreview
显示工作簿中所有工作表的打印预览:
Sheets.PrintPreview
显示某一指定区域的打印预览,如当前工作表的A1:G10区域:
ActiveSheet.Range(&A1:G10&).PrintPreview
显示某一工作表中的某个图表的打印预览,假如工作表名称为&Sheet3&,其中某个图表名称为&图表 1&:
Worksheets(&Sheet3&).ChartObjects(&图表 1&).Activate
ActiveChart.PrintPreview
显示指定的图表工作表的打印预览,假如该图表工作表名称为&Chart1&:
Charts(&Chart1&).PrintPreview
显示&打印内容&对话框:
Application.Dialogs(xlDialogPrint).Show
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------
猜你感兴趣给你完整代码把:
for i=range("C65536").end(xlup).row to 1 step -1
if cells(i,3)= 0 then
rows(i).delete请问如何 用 excel vba 的mid 函数,截取中间字符串_百度知道
请问如何 用 excel vba 的mid 函数,截取中间字符串
http://pan.baidu.com/s/1jGMg9Jw请问如何在vba中使用mid函数(原starnum和num_chars是用find()表示的),截取中间字符串?达到直接用函数mid+find的效果...自己乱写了一点代码,求指教...
请问如何在vba中使用mid函数(原star num和num_chars是用find()表示的),截取中间字符串?达到直接用函数mid+find 的效果...自己乱写了一点代码, 求指教&修改!Private Sub 宏1()Dim i$, b$, c$, j$i = Range(&a7&)b = Range(&b2&)c = Range(&c2&)j = Range(&b7&)
If (InStr(c, i)& InStr(b, i)) Then
j =&=MID(i,INSTR(c,i),INSTR(b,i))&
End IfEnd Sub
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自电脑网络类芝麻团
采纳数:2621
获赞数:4924
参与团队:
Function&mida(rng1&As&Range,&rng2&As&Range,&rng3&As&Range)i&=&InStr(1,&rng1,&rng2,&vbTextCompare)j&=&InStr(1,&rng1,&rng3,&vbTextCompare)If&i&&&0&And&j&&&0&And&j&&&i&Then&&&mida&=&Mid(rng1,&i,&j&-&i&+&Len(rng3))End&IfEnd&Function右键thisworkbook,插入模块,用自定义函数。
如果rng1是列A,rng2,rng3是固定的,想在列D中显示结果,请问该怎么改?
rng1,rng2,rng3是3个单元格,3个形式参数。你只需要代入实际的单元格即可。与列号无关。这个公式的结果就是提取rng1中,rng2开始,rng3结束的内容。写好公式后。下拉复制即可。
spencer0509
spencer0509
采纳数:14
获赞数:118
你这样的问题很难看懂,你直接说原字符串是什么,然后想达到什么样的效果,这样就简单了.也就是原始字符串和想要的结果字符串.
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Access denied | www.ishare5.com used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (www.ishare5.com) has banned your access based on your browser's signature (44de96e-ua98).一、关于sumif()函数的用法说明及用途。
根据指定条件对若干单元格求和。
SUMIF(range,criteria,sum_range)
Range&&& 为用于条件判断的单元格区域。
Criteria&&& 为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、"&32" 或 "apples"。
Sum_range&&& 是需要求和的实际单元格。
只有在区域中相应的单元格符合条件的情况下,sum_range 中的单元格才求和。
如果忽略了 sum_range,则对区域中的单元格求和。
Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算单元格区域内某个文本字符串或数字出现的次数,则可使用 COUNTIF 函数。如果要让公式根据某一条件返回两个数值中的某一值(例如,根据指定销售额返回销售红利),则可使用 IF 函数。
以上是从帮助文件里复制出来的,以前没有好好看到这些,以为没什么用处,但现在看来里面真是遍地黄金甲啊!!
效果截图如下:
示例解释如下:把属性值(A列)中大于等于200000的(这是条件)对应单元格(B列)(这是实际进行求和的区域)进行求和。
这个函数有什么用处呢?尤其是在学生成绩处理过程中
想来想去,也只能是指把它归为可以进行条件求各而已。
二、在VBA中如何实现?
其实可以用在以下情况中,比如可以统计、计算每个人的工作量,而且可以直接填到指定单元格内。如果想在VBA中实现的话,那就需要完成以下两步:
①获取每个人的姓名,存入数组中。这里有个问题,可不是在数组定义中指定常量?②根据数组列表中每个人姓名,以此为条件,计算每个人的工作量。这样就不用要求必须提前排好序,即使是乱序也不要紧了。
下面就实现这个功能吧。以统计各任课教师的工作量为例,样表如下:
由上表明显可以看出,B列中有重复列存在,处理过的样表如下:
源程序如下:
Option Base 1Sub 统计工作量()&&& '建立验证表,删除重复行,并获取教师姓名,同时也获得了教师列表。&&& Application.DisplayAlerts = False&&& Worksheets("sheet1").Activate&&& Worksheets("sheet1").Copy before:=Worksheets("sheet1")&&& ActiveSheet.Name = "验证"&&& 'ActiveSheet.Delete&&& Dim R As Integer&&& Dim i As Integer&&& R = Range("B65536").End(xlUp).Row&&& For i = R To 1 Step -1&&&&&&& If Application.WorksheetFunction.CountIf(Range(Cells(1, 2), Cells(R, 2)), Cells(i, 2)) & 1 Then '充分利用Countif函数的功能:统计在指定区域内符合条件的个数,据此:若符合cells(i,2)的单元格个数出现了2个以上,则该行一定有重复行,那么即可把该行删掉.&&&&&&&&&&& Range(Cells(i, 2), Cells(i, 2)).EntireRow.Delete&&&&&&& End If&&& Next i&&& R = Range("B65536").End(xlUp).Row&&& Dim xm() As String '如果写成Dim xm(R) As String,则会提示下标超界,但利用ReDim却可以写入变量。这个问题终于解决了。&&& Dim gzl() As Double '建立工作量数组,存储每位教师的最终工作量。&&& ReDim xm(R)&&& ReDim gzl(R)&&& For i = 1 To R&&&&&&& xm(i) = Cells(i + 1, 2).Value&&&&&&& Debug.Print xm(i)&&& Next i&&& Worksheets("sheet1").Activate&&& For i = 1 To R&&&&&&& gzl(i) = Application.WorksheetFunction.SumIf(Range(Cells(2, 2), Cells(79, 2)), xm(i), Range(Cells(2, 3), Cells(79, 3)))&&&&&&& Debug.Print gzl(i)&&& Next i&&& Worksheets("验证").Activate&&& For i = 1 To R&&&&&&& Cells(i + 1, 4).Value = gzl(i)&&& Next i&&& Cells(1, 4).Value = "工作量合计"End Sub
&今天你了么?
阅读(...) 评论()

我要回帖

更多关于 vba调用excel函数 的文章

 

随机推荐