Tag: vba

VBA代码从给定date获取周数

我正在使用Excel 2010。 我希望将格式为mm/dd/yyyy的给定date转换为Wyy"weeknumber"格式 例如,2017年4月10日将成为W1715 ,因为它是2017年的第15周。 下面显示的图片是我正在处理的Excel表格。 我想将列LT Verification – Planned Date中的LT Verification – Planned Date转换为上面提到的星期编号格式,在LT Verification – Planned Week Numbers 。 编辑:因为这是一个更大的VBA过程的一部分,我需要它在VBA,而不是一个单元格公式。 我写了下面的代码: Public Sub WeekNumbers() Dim lastRow As Integer lastRow = Range("A1:AZ1").Find("*", , , , xlByRows, xlPrevious).Row Dim myRange As Range Set myRange = Range("A1:AZ1" & lastRow) Dim myCell As Range For Each myCell […]

如何从使用VBA的Excel工作表中的图片获取EXIF信息

如何从excel工作表中使用VBA的形状图像获取像纬度,经度等EXIF信息? 而且是否可以在不从工作表中提取或复制图片或从压缩的Excel工作簿中获取图片? 我可以迭代通过下面的代码压缩的文件夹内容。 Public Sub ReadZip() Dim vZipFileName As Variant vZipFileName = "C:\Users\erogrou\Desktop\Test.zip" Dim objShell, objFolder Set objShell = CreateObject("shell.application") Set objFolder = objShell.Namespace(vZipFileName) Dim vFilename As Variant If (Not objFolder Is Nothing) Then Debug.Print objFolder.self.Path For Each vFilename In objFolder.items Debug.Print vFilename Next End If Set objFolder = Nothing Set objShell = Nothing End […]

嵌套select案例的多个条件

情况:我有一个代码,通过工作表中的一些数据,并给予什么是在某个单元格粘贴到另一列(同一行)的东西。 例如:如果我的A5是“债券”,它连接A5和B5的内容并将其粘贴到J5。 Obs1:对于第一,第二,第三和第四列数据,有几十个子条件。 我到目前为止的尝试:我能够创build一个非常长的嵌套如果链和帐户的所有条件。 我也能够使用select案例来说明第一列的条件。 问题:现在我试图使用嵌套Select Case来解决这个问题(考虑到If链是庞大的,而且效率太高)。 问题是我无法正确说明多个条件的嵌套Select Case。 问题:在存在多个条件时,使用嵌套Select Case的最佳方法是什么? Obs2:从以前的研究中,我发现这里的post是关于嵌套的,特别是当存在真值或假值时。 这对我不起作用,因为每一层都有更多的条件。 代码1:这是我迄今为止使用Select Case: Function fxr2() Dim lRow As Long, LastRow As Long Dim w As Workbook Dim ws As Worksheet Set w = ThisWorkbook Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual LastRow = Worksheets("Fixer").Cells(Rows.Count, "A").End(xlUp).Row For lRow = 7 To LastRow […]

Excel浏览文件夹并将数据input自动化到默认模板中

我一直在从网上阅读各种来源的代码,并通过自学的编程进行debugging,使其工作,但我有困难继续前进。 正如你所看到的,它来自一个来源。 浏览文件夹和阅读文件的代码工作正常,我需要从这个文件夹中复制值,并粘贴到代码中分配的默认模板和保存文件与默认格式和旁边的单元格的值(O1 )&(O11)在代码中分配。 如您所见,不会保存为xlsx,也不会使用指定单元格中的值进行保存。 接下来,自动将数据input到指定字段。 只有前3个文件能够正确地复制我想要的。 其余的则input错误的数据,如下图所示。 此外,我还需要从文件夹中的文件中读取单元格N15:O83中的值,并将其分别从第6行开始复制到模板列AA和AB中。 预先感谢您提供的任何帮助。 示例源文件 正确的自动化 错误的自动化 macros代码 Sub LoopAllExcelFilesInFolder() 'PURPOSE: To loop through all Excel files in a user specified folder and perform a set task on them 'SOURCE: www.TheSpreadsheetGuru.com Dim wb As Workbook Dim myPath As String Dim myFile As String Dim myExtension As String Dim FldrPicker […]

是否有可能在Excelvalidation下拉框中增加256个字符的限制?

我正在dynamic创buildvalidation,并已达到256个字符的限制。 我的validation看起来像这样: Level 1, Level 2, Level 3, Level 4….. 有没有办法避开字符限制,然后指向一个范围? validation已经在VBA中生成。 增加限制是避免对工作表当前工作方式产生影响的最简单方法。

如何访问Office应用程序状态栏中的进度栏

我为Word和Excel构buildVBA应用程序,有没有办法访问有时出现在Office状态栏中的进度条。

使用VBA在Excel中dynamic生成表单

我试图find或开发一些VBAdynamic生成表单域(标签和文本框)。 源数据是隐藏的Excel工作表上的表格。 有任何想法吗?

hex与Excel和/或Visual Basic中的ANDing

我想在Excel/Visual Basic位进行“ AND两个hex数。 防爆。 53FDBC AND 00FFFF这应该产生00FDBC 。 任何想法如何做到这一点?

在VBA中相当于IFDEF

我有需要在Excel 2003和Excel 2007上运行的代码,并且有几个版本中的更改会导致代码停止。 我尝试用If-Else语句分隔这些行,但是代码不能编译,因为它不能识别用于其他的代码。 有没有什么办法可以告诉一个版本忽略VBA中类似于C或C ++风格的#ifdef的一段代码?

使用ADO从Excel读取数据的空值

我正在使用ADO从Excel 2007电子表格读取数据。 build立连接很简单: Dim ado As ADODB.Connection Set ado = CreateObject("ADODB.Connection") ado.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myFilename.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";" ado.Open 我可以调用ado.OpenSchema没有任何麻烦,在这个对象。 但是,当我尝试查询数据时: Dim rs As ADODB.recordSet Set rs = ado.Execute("SELECT * FROM [Current Work Load$]") 我只是得到一个表空的。 这是在Microsoft支持网站上提到的一个问题 – 但我已经明确启用了“导入模式”(正如您可以在上面的代码中看到的 – IMEX=1 )。