伙计们,
我有一个字符串日期,我可以转换为数字使用:= DateValue("1/2/2011")结果39084
我正在尝试使用ONLY FORMULAS将字符串或数字日期转换为日期格式化对象.使用UI进行格式化不是一种选择.
我正在使用VB处理一些Excel功能 - 但我在一些例子中遇到了困难.当前版本是Excel 2007,使用空白工作簿; 我已经添加了一个模块并尝试了如下函数:
Function Addtwo(a, b)
Addtwo = a + b
End Function
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误#VALUE!在我的单元格中,在做Addtwo时(5,5).当试图做Addtwo(B2,B3)时,Excel告诉我我的公式是错误的.
谢谢,
在Excel中,我使用表将动态数据存储在单独的工作表中.输入新数据就像魅力一样,但是,我希望能够从该表中动态检索单行并将其数据存储在变量中.我更喜欢构建一个函数,所以我可以做这样的事情:
findFromCatsByDate(searchterm) 'returns a single row if found with mathing date.
Run Code Online (Sandbox Code Playgroud)
请注意,该表是动态的,而不是固定的范围(因此它会垂直变化).我想重复使用这个函数,稍微修改其他表.我需要一个例子来说明如何在VBA中实现这一点.
谢谢,
我在excel文件上做了各种各样的事情,最后我需要回到最后保存的版本.所以我关闭并重新打开我的excel文件而不保存,这有效.在关闭工作簿之前,我复制了一系列单元格(通过使用一些排序和过滤以及其他东西等创建),现在我需要在重新打开它时将它们粘贴到文件末尾.
但是当我们重新打开工作簿时,以前运行的宏不会在停止的地方继续.我想运行宏再次重新打开时停止的位置.那可能吗?
我的想法是在工作簿打开时放置此代码:
sub Auto_open()
sheet1.activate
' and select the last row of the sheet1
activesheet.paste
end sub
Run Code Online (Sandbox Code Playgroud)
因为当工作簿重新打开时,它会自动执行此子例程并复制单元格内容.但缺点是我们不能说它总是单元格被复制,因为如果用户将一些数据复制到剪贴板然后由于Auto_open子打开这个文件,它会将这些数据复制到工作表的末尾,但这不是什么我想要.
任何人都可以提出一个好主意来克服这个问题吗?
我想用Excel VBA阅读网页.我该如何执行这项任务?它甚至可能吗?
我正在尝试将我的Excel文件中的所有图表导出为PNG图像.图表未嵌入工作表中,而是在创建时作为新工作表移动.
不熟悉VBA或办公室宏,我尝试根据我在网络上找到的代码示例将一些内容串联起来但没有成功.
这是我尝试过的,它可能适用于工作表中嵌入的图表,但不适用于独立图表:
Private Sub ExportChartsButton_Click()
Dim outFldr As String
Dim ws As Worksheet
Dim co As ChartObject
outFldr = GetFolder(ActiveWorkbook.Path)
For Each ws In ActiveWorkbook.Worksheets
For Each co In ws.ChartObjects
co.Export outFldr & "\" & ws.Name & ".png", "PNG"
Next
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
单击按钮时,似乎什么也没发生.
如果我替换内部循环,MsgBox co.ChartObjects.Count我会得到0每个非图表工作表的弹出窗口,所以我很明显不会遍历正确的对象(因此,没有图表,所以没有任何反应).
那么,我如何遍历未嵌入工作表中的图表?
我尝试使用vb.net从文件excel中获取工作表名称并将其显示到文本框中.我试过这个代码:
Imports Microsoft.Office.Interop
Private Sub GetSheetsName
Dim efa As New Excel.Application
Dim ewb As Excel.Workbook
Dim ews As Excel.Worksheet
Dim fileName as string
fileName="D:\test.xls"
ewb = efa.Workbooks.Open(fileName)
For Each ews In ewb.Worksheets
ExcelSheetName += ews.Name & vbNewLine
Next ews
TextBox1.text=ExcelSheetName
end sub
Run Code Online (Sandbox Code Playgroud)
该代码适用于文件excel*.xls,在文本框中显示来自文件test.xls的Sheets Name
Sheet1
Sheet2
Sheet3
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用excel 2007(*.xlsx)时,会显示如下错误消息.

我该怎么办?你能帮我吗.
在VBA中,我通常用于appOutlook = GetObject(, "Outlook.Application")获取正在运行的Outlook实例,如果Outlook未运行,则会引发错误.我通常在excel中做到这一点,但现在我想看看我是否可以通过转移到C#并从那里做到更好的结果.我需要做的是从Outlook电子邮件复制并粘贴到Excel,以便在电子邮件中的表得到粘贴到电子表格单元格的值,而不是HTML.但是,我不太清楚如何做到这一点.我经常使用Activator.CreateInstance,但它会成为一个新实例.如何连接到Excel和Outlook的当前实例?
在Excel 2007电子表格中,我想查找 - 替换为突出显示单元格中文本的一部分.使用find-replace重新格式化整个单元格.
例如,如果单元格包含:
Pellentesque vel massa坐在amet magna eleifend placerat.Pellentesque dictum,nibh vitae tincidunt placerat,elit libero tristique tellus,vel imperdiet nulla tortor id diam.Mauris porta blandit vestibulum.
我想找到"Pellentesque"并用Pellentesque代替它.
这可以在没有VBE或公式的情况下完成吗?
我正在寻找一种方法通过VBA代码将颜色标度应用于一组单元格,但不是通过应用一些条件格式...我想将它们应用为静态颜色(InteriorColor)
我搜索了很多excel网站,谷歌和stackoverflow,没有发现任何东西:(
对于我的情况,如果你看下面的图片:

你可以看到我给它一个色标,在这个例子中虽然我已经通过条件格式化完成了色阶.我想通过VBA创建色阶,但它必须避免使用条件格式,我想为单元格指定内部颜色,以便颜色是静态的,这使得它们在所有移动excel查看器上都可见,速度更快,如果我不会改变是删除任何数字/行.
下面是一些示例数据只需将其保存在csv中并在excel中打开它以查看excel中的数据:P:
Data 1 (Yes there are blanks),Data 2,Data 3,Data 4,Data 5,Data 6
155.7321504,144.6395913,1,-4,-9.3844,0.255813953
113.0646481,120.1609771,5,-2,-2.5874,0.088082902
126.7759917,125.3691519,2,0,-0.0004,0.107843137
,0,7,,,0.035714286
123.0716084,118.0409686,4,0,0.3236,0.118881119
132.4137536,126.5740362,3,-2,-3.8814,0.090909091
70,105.9874422,6,-1,-0.3234,0.103896104
Run Code Online (Sandbox Code Playgroud)
我在python中使用以下内容,但显然我无法在VBA中使用此代码,以下代码成功地将十六进制颜色分配给50种颜色的预定义数组中的数字,因此它非常准确.
def mapValues(values):
nValues = np.asarray(values, dtype="|S8")
mask = (nValues != '')
maskedValues = [float(i.split('%')[0]) for i in nValues[mask]]
colorMap = np.array(['#F8696B', '#F86E6C', '#F8736D', '#F8786E', '#F97E6F', '#F98370', '#F98871', '#FA8E72', '#FA9373', '#FA9874', '#FA9E75', '#FBA376', '#FBA877', '#FBAD78', '#FCB379', '#FCB87A', '#FCBD7B', '#FCC37C', '#FDC87D', '#FDCD7E', '#FDD37F', '#FED880', '#FEDD81', '#FEE382', '#FEE883', '#FCEB84', '#F6E984', '#F0E784', '#E9E583', …Run Code Online (Sandbox Code Playgroud) excel-2007 ×10
excel ×8
vba ×7
excel-vba ×5
c# ×2
.net-4.0 ×1
excel-2013 ×1
outlook-2007 ×1
vb.net ×1
webpage ×1