编辑: bingyan8 | 2013-05-04 |
1 FIND( m , Miriam McGovern ) 等于
6 FIND( M , Miriam McGovern ,3) 等于
8 在以下示例中,FIND 返回 2,因为 位于串中的第二个位置,而FINDB 返回 4.请教:如何用 VBA 实现工作表数据更改时自动用其他颜色显示 Private Sub Worksheet_Change(ByVal Target As Range) Target.Font.Color = RGB(Rnd() *
1000 Mod 256, Rnd() *
1000 Mod 256, Rnd() *
1000 Mod 256) End Sub 5.要它在
2004 年2月1日自动删除 VBA 怎样写呢 Excel 启动时 Open 事件里加入对时间的判断,满足条件即执行你的代码... 1.在Excel 工具-->
选项-->
安全性-->
宏安全性-->
可靠来源-->
设置成:信任对 VB 项目的访问. 2.在ThisWorkbook 你添加代码: Private Sub Workbook_Open() Dim myTime As Date Dim Answer As Integer myTime = Date If myTime >
#1/7/2004# Then '
在这里设置日期 Answer = MsgBox( 你确定要自杀所有代码吗 ? , vbOKCancel + vbExclamation, 系统警告 ) If Answer = vbOK Then DelVBA Exit Sub Else MsgBox 您已经取消了自杀行为! , vbOKOnly + vbInformation, 欢迎您回来 End If End If End Sub 3.在模块里加入过程 DelVBA Sub DelVBA() '
此部分代码引用超级版主 chijanzen ActiveWorkbook.Activate For i =
1 To ActiveWorkbook.VBProject.VBComponents.Count '
确定工 程组件数量 ActiveWorkbook.VBProject. _ VBComponents(i).CodeModule.DeleteLines 1, _ ActiveWorkbook.VBProject. _ VBComponents(i).CodeModule.CountOfLines '
从第一行循环到最后一 行的删除动作 Next End Sub 4.如果想实现静态删除,将第
2 条代码里弹出对话框的部分去掉即可.
6 求助!用VBA按条件求和 Sub AddData() '
具体的数据区域自己调整一下: Range( d2 ).FormulaArray= =SUM((Sheet1!$B$2:$B$9=B2)*(Sheet1!$C$2:$C$9=C2)*Sheet1!$D$2:$D$9) Range( d2:d8 ).FillDown Range( d2:d8 ).Value = Range( d2:d8 ).Value End Sub 7.请问一下金刚经为什么我的工作薄在登陆时无法最小化只看到登陆框呢,这 个代码怎么编程? Application.Visible = False 可是最小化后不出来了 用Application.Visible = true 也不行阿? 为何? With Application .WindowState = xlMaximized .Visible = True '
隐藏 Excel 应用程序 .EnableCancelKey = xlInterrupt .ScreenUpdating = True End With 8.希望能让某列如本表的票据号列能在每次回车后自动在下一行加上一个相同 的整数,不知怎么能实现? 实现的方法很多,可根据你的实际出发,用工作表函数或VBA都可以: 代码换行后加入一句: Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row - 1, 4) 4即是你需要用代码填充的列 注意,以上的代码有一个前提是:此行不是数据的第一行 如果你需要整个工作簿里统一控制票据号码, 建议在某一个表的某一个单元格里 记录票据号码的累加 按时间求和 用阵列公式取值最快 {=SUM((Sheet2!C4:C297=Sheet1!A1)*(Sheet2!A4:A297>
=Sheet1!C1)*(Sheet2! A4:A297=Sheet1!C1)*(Sheet2! &
rDate &
0 Then If Len(TextBox1.Text) - pos >
2 Then TextBox1.Text = Left(TextBox1.Text, pos + 2) End If End Sub 可以这样修改吗? Dim txtnum As Integer, pos As Integer Private Sub TextBox1_Change() txtnum = Len(TextBox1.Text) If txtnum =
1 And Left(TextBox1.Text, 1) = . Then TextBox1.Text = pos = InStr(TextBox1.Text, . ) If pos >
0 Then If Right(TextBox1.Text, 2)Then TextBox1.Text = Left(TextBox1.Text, txtnum - 1) If txtnum - pos =
2 And Right(TextBox1.Text, 1) = . Then TextBox1.Text = Left(TextBox1.Text, txtnum - 1) End If End Sub Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If ((KeyAscii <