aption = "另存为(&A)..." Then
Application.CommandBars("File").Controls(i).Enabled = False
End If
Next i
又问:如果是不同版本呢,比如说是中文版和英文版,哪怎样才能通用呢?
解答:改成 Application.CommandBars("File").Controls(5).Enabled = False。中文版和英文版通用。
如何将菜单内的名字改回默认的名字
Reset.
CommandBars("My_tool_bar").Controls(1).Reset
VBA中自制的弹出式快捷菜单上能用上我任意指定的图标吗
解答:Sub CreateCmdBar()
Dim objBar As CommandBar
Dim objctr As CommandBarControl
'Begin insert ico
On Error Rescom Next
Application.CommandBars("ico").Delete
On Error GoTo 0
ThisWorkbook.Sheets("Sheet1").Shapes("pic").Copy
Set objBar = Application.CommandBars.Add("ico", msoBarFloating, False, False)
Set objctr = objBar.Controls.Add
With objctr
.PasteFace '将图形Copy至按钮上
.Enabled = True
End With
objBar.Visible = True
End Sub
如何将自定义的组合下拉列表框加入自定义工具栏
Sub wswx()
Dim i As CommandBar, j As CommandBarComboBox
Set i = Application.CommandBars.Add("wswx", , , True)
i.Visible = True
Set j = i.Controls.Add(msoControlComboBox)
With j
.AddItem "First Item", 1
.AddItem "Second Item", 2
End With
End Sub
如何真正隐藏多余的行和列(只有有用的部分显示)
用 SHIFT + CTRL +方向箭头,就可以选定区域,再隐藏就达到那种效果了。
EXCEL2K输入公式只显示公式怎么办
把工具——选项——视图中“公式”前的勾去掉,格式改常规,鼠标定位到公式单元格并按F2,回车。
关于日期的计算
各位高手:我在统计今年1月份里有多少个星期二, 用以下公式可以算出是4天,{=SUM((WEEKDAY(DATE(2003,1,ROW(INDIRECT("1:31"))))=3)*1)}=4,但用以下公式统计1月份里的第5周共有多少天就不能返回值了,请问是为什么呢?,{=SUM((WEEKNUM(DATE(2003,1,ROW(INDIRECT("1:31"))))=5)*1)}=#value!
解答:weeknum不能用于数组公式。想解决此问题,可以用常量数组公式,如求2003年11月的第4周有多少天,公式为: =SUM((MONTH(DATE(2003,11,1)-WEEKDAY(DATE(2003,11,1))+{1,2,3,4,5,6,7}+7*(4-1))=11)*1)
可直接回车输入。
(公式解释:DATE(2003,11,1)-WEEKDAY(DATE(2003,11,1))是求指定月份1日所在星期的上一个周末(星期六)的日期系列数,+{1,2,3,4,5,6,7}+7*(n-1))后就变为指定月份1日起(包含1日的周数)第n周的7天的日期系列数数组,再用month函数判别是否是指定的月份,sum函数求总和,即指定月份指定第n周的天数。)
在EXCEL中如何用公式编制一个乘数口诀表
我想问问编写乘数口诀表使用的那个公式在excel里是怎么写的,我想把它用在我的工作表里。
具体地说,要求在excel工作表中,每个竖排中表格b2=b1*a2; b3=b1*a3; b4=b1*a4......依此类推,共有255个columns。 每个横排中,b2=b1*a2; c2=c1*a2; d2=d1*a2......也是依此类推,共有255行。
我现在能做到的最不笨的一种方式也要写255条公式。我想应该有一种公式的写法是能够设定公式的第一项不变,第二项相应格子的号码改变。那么我可以写几个甚至是一个公式就可以直接复制了。
解答:b2=$b$1*a2,再向下拖。=B$1*$A2向右拖。
如何让Excel程序使用自定义的帮助文档
解答:
Option Explicit
Public Const SW_SHOWNORMAL = 1
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParcomters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
sub dd()
ShellExecute 0, "Open", ThisWorkbook.Path & "\帮助文件.chm", "", "", SW_SHOWNORMAL
end sub
如何设定文本框的输入属xìng
我在excel中放置了一个文本框"textbox",如何设定该文本框的属xìng只能是数值,例如设定excel单元格为货币一样。
解答1:
Private Sub textbox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then
MsgBox "必须输入数字", vbExclamation, "Warning!"
SendKeys ("{backspace}")
End If
End Sub
这是我程序中的例子
解答2:能在CHANG事件中用isncomric()函数判断是否是数值,在exit事件中用format()函数将数值转换成货币格式。
一个处理文本排序的自定义函数
下面是一个处理文本排序的自定义函数(数组),红字部分本人不太明白,为什么要用Transpose转换?请高手指点。
Function SORTED(rng, Optional ascending) As Variant
Dim SortedData() As Variant
Dim CellCount As Long
Dim Temp As Variant, i As Long, j As Long
CellCount = rng.Count
ReDim SortedData(1 To CellCount)
If IsMissing(ascending) Then ascending = True
If rng.Columns.Count > 1 Then
SORTED = CVErr(xlErrvalue)
Exit Function
End If
For i = 1 To CellCount
SortedData(i) = rng(i)
If TypeNcom(SortedData(i)) = "Empty" Then SortedData(i) = ""