Tag: vba

Excel VBA仅复制粘贴值(xlPasteValues)

我试图将sheetA中的整个列复制到SheetB中。sheetA列具有用formuls形成的值。 我只使用xlPasteValues复制SheetA列值。 但它不会将值粘贴到另一个sheetB。 sheetB中的列是空的。 我的VBA代码 Public Sub CopyrangeA() Dim firstrowDB As Long, lastrow As Long Dim arr1, arr2, i As Integer firstrowDB = 1 arr1 = Array("BJ", "BK") arr2 = Array("A", "B") For i = LBound(arr1) To UBound(arr1) With Sheets("SheetA") lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row) .Range(.Cells(1, arr1(i)), .Cells(lastrow, arr1(i))).Copy Sheets("SheetB").Range(arr2(i) & firstrowDB).PasteSpecial xlPasteValues End With […]

如何在VBA中设置“锯齿arrays”?

我有一个充满了孩子的教室,每个孩子都必须列出他们最喜欢的玩具。 有些孩子只列出1个玩具,而其他孩子列出更多。 如何创build一个锯齿状的数组,使Kids(x)(y)…其中x是我class上孩子的数量,y是他们列为最爱的玩具列表?

在Access 2007中使用ADO或DAO会更好吗?

在Access 2007中创build新数据库时,应使用ADO(ActiveX数据对象)还是DAO(数据访问对象)? 编辑:此数据库的一部分将从Excel 2007电子表格导入数据。

使用超过2个标准的自动filter

你如何使用VBA自动filter超过2个variables – 我不断收到错误消息: 命名的参数未find 代码如下: .AutoFilter Field:=1, Criteria1:="HP Compaq 6000", Operator:=xlOr, Criteria2:="HP Compaq 8000", Operator:=xlOr, Criteria3:="HP Compaq 8200", Operator:=xlOr, Criteria4:="HP Compaq 8200 Elite", Operator:=xlOr, Criteria5:="HP Compaq dc5800", Operator:=xlOr, Criteria6:="HP Compaq dc7900", Operator:=xlOr, Criteria7:="HP Compaq Elite 8300 SFF", Operator:=xlOr, Criteria8:="HP Compaq Pro 8300 SFF" 我想知道是否有可能使用AutoFilter在同一列中筛选超过2个条件的数据。 如果没有,是否有另一种方法来实现这一目标?

在Excel用户窗体上将点击VBA函数分配给一个dynamic创build的button

我使用以下代码在Excel用户窗体上dynamic创buildbutton: With Me.CurrentFrame.Controls.Add("Forms.CommandButton.1") .Caption = "XYZ" .name = "AButton" .Font.Bold = True .ForeColor = &HFF& … blah blah blah End With 我想分配一个函数来运行时点击这些button,但我找不到一个简单的方法来做到这一点,因为没有属性作为button本身的一部分。 有没有办法使用上述成语做到这一点? 我应该以不同的方式来处理这件事吗?

Dir()函数不适用于Mac Excel 2011 VBA

嗨,我想列出Excel工作簿所在的子目录中的所有文件。出于某种原因,代码不能超出Dir函数执行。 任何人都可以请指教? 谢谢! Sub ListFiles() ActiveSheet.Name = "temp" Dim MyDir As String 'Declare the variables Dim strPath As String Dim strFile As String Dim r As Long MyDir = ActiveWorkbook.Path 'current path where workbook is strPath = MyDir & ":Current:" 'files within "Current" folder subdir, I am using Mac Excel 2011 'Insert the headers in […]

在VBA中返回一个正则expression式匹配(excel)

我想为excel 2010编写一个函数,它将采用非结构化文本的单元格,查找称为sdi值的东西,如果find,则返回该编号。 sdi值将显示为sdi ####。 我想要的是返回sdi和它后面的特定数字,所以如果单元格包含“一些文本sdi 1234多一些文本”,该函数将返回sdi 1234。 这是我的function: Function SdiTest(LookIn As String) As String Dim temp As String Dim STA As Object temp = "" Set SDI = CreateObject("VBScript.RegExp") SDI.IgnoreCase = True SDI.Pattern = "sdi [1-9]*" SDI.Global = True If SDI.Test(LookIn) Then temp = SDI.Execute(LookIn) End If SdiTest = temp End Function 如果没有sdi号码,它永远不会进入if语句,并忠实地返回空string。 如果有一个sdi号码,我会得到#VALUE! 我错过了什么? […]

在Excel中parsingISO8601date/时间(包括TimeZone)

我需要在Excel / VBA中将包含时区(来自外部源)的ISO8601date/时间格式parsing为正常的Exceldate。 据我所知,Excel XP(这就是我们正在使用的)没有内置的例程,所以我想我正在看一个自定义的VBA函数的parsing。 ISO8601date时间看起来像这样一个: 2011-01-01 2011-01-01T12:00:00Z 2011-01-01T12:00:00+05:00 2011-01-01T12:00:00-05:00 2011-01-01T12:00:00.05381+05:00

如何将2D Excel表格“拼合”或“折叠”为1D?

我有一个与国家和Excel年的二维表。 例如。 1961 1962 1963 1964 USA axgy France ueha Germany oxnp 我想“扁平化”它,这样,我在第一列中有国家,在第二列中有一年,然后在第三列中有价值。 例如。 Country Year Value USA 1961 a USA 1962 x USA 1963 g USA 1964 y France 1961 u … 我在这里呈现的例子只是一个3x4matrix,但是我拥有的真实数据集显着更大(大约50×40左右)。 任何build议如何使用Excel可以做到这一点?

如何获取VBA中当前工作表的path?

我写了一个macros作为一个add = in 。 我需要获取正在执行的当前工作表的path。 我如何做到这一点? 我如何获得文件path(只是目录)?