Tag: 数组

使用VBA填充来自Excel表列的值的一维数组

下面的代码是为了将Excel表中的列读入数组,然后可以用来确定每个“项目”是否属于环境“组”,如果是,将项目编号和美元值添加到另一个数组。 我有我的代码的一些问题,并一直在search互联网和StackOverflow,但已经能够find处理Excel表使用VBA很less的信息。 我正在使用Excel 2010。 Sub UpdateProjectsAndCharges() 'Define arrays to be used Dim projectArray() As Variant Dim uniqueProjectArray(100) As Variant Dim dollarValue() As Variant Dim envProjectArray(100) As Variant Dim envDollarValue(100) As Double Dim cumulativeCosts(100) As Double 'Define all tables in this sheet as list objects Dim UnitsValues As ListObject Dim ChargingTracking As ListObject 'Define counters to […]

dynamic添加checkbox – 运行时错误424

您好我已经从TheEngineer复制/粘贴的代码 – 答案 – 我稍微修改了代码,所以它从数组而不是工作表收集数据。 我不断得到RuneTime Error 424 ,当我在Error 424阅读MS帮助它说我应该启用Microsoft DAO 3.5 Object Library我的Excel只有3.6 。 我猜更新版本? 但是我仍然有一个错误。 有人能帮我吗?? 这是代码: Option Explicit Private Sub UserForm_Initialize() Dim LastColumn As Long Dim i As Long Dim chkBox As MSForms.CheckBox Call test ' Here i run array code (The array is filled with data) TestArr = UniqueProvisionArray LastColumn = […]

Excel COUNT()与COUNTIF()与数组

我认为这应该是一个简单的问题,但由于某种原因,我无法在任何地方find解决scheme。 我在Excel中有一个冗长的公式,最终返回一个包含四个项目的数组,即{1,2,0,0}。 我想统计有多less个结果数字大于零。 当我使用=COUNT({1,2,0,0})这个结果时,我得到的预期答案是4.但是当我尝试使用=COUNTIF({1,2,0,0}, ">0")它popup一个错误,说我的公式有问题。 有什么我做错了吗? 有一个相当于COUNTIF()的数组吗?

按字母顺序添加到string数组中

我正在寻找一种方法来添加string(从单元格)string数组的字母顺序。 例如: string array = {"apple", "banana", "orange"} 加"cherry" : string array = {"apple", "banana", "cherry", "orange"} 因此,如果我做sheets(1).range("A1").value = new string array ,整个数组将在一个单元格中。 我在网上find了一个按字母顺序排列所选单元格的函数,但是不确定它是否有助于我的实例。 Function Alphabetize(vStrings As Variant, separator As String) As String Dim v As Variant, vSorted As Variant Dim i As Long, j As Long, n As Long Dim bDone As Boolean For […]

数组分割和提取VBA的Excel

我得到了这个代码的帮助,但是当它运行时,它不执行它需要做的事情。 我试图从第一个表格的C行中提取加下划线和斜体的单词,并将它们移到秒表上。 预期的结果是在第二个图像。 在这种情况下arrays分裂会被使用吗? 希望样本数据更清楚。 Sub proj() For Each cl In Range("C1:C5") Call CopyItalicUnderlined(cl, Worksheets("Sheet2").Range("A1")) Next End Sub Sub CopyItalicUnderlined(rngToCopy, rngToPaste) rngToCopy.Copy rngToPaste Dim i For i = Len(rngToCopy.Value2) To 1 Step -1 With rngToPaste.Characters(i, 1) If Not .Font.Italic And Not .Font.Underline Then .Text = vbNullString End If End With Next End Sub

在VBA中使用数组而不是范围

我现在只用了几个星期的VBA,所以忍受着我。 我试图改变一个macros,以便它从一个数组而不是一个范围读取。 我需要改变的一个部分使用.formulaR1C1运行一个vlookup,但我很难试图解决这个问题。 下面这行是一个例子: .Range("M2:L" & lastrow).FormulaR1C1 = "=VLOOKUP(RC[-1], Sheet2!R1C1:R4C10, 3, 0)" 我不太确定是否可以将数组的值设置为公式,如上所述,或者必须将值存储为string,然后在打印后再编辑单元格的值该列回到工作表。 我到目前为止是如下: For i = 2 To lastrow arr(i, 13).FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!R1C1:R4C10,3,0)" Next 提前致谢!

追加或前置到没有VBA / UDF的数组

在Excel中,是否有一个内置的公式/函数来将值附加到数组中? 所以假设我有我自己的UDF,MyFunc(…),它返回一个值的数组。 我可以使用对单个单元格的引用追加或预先将单个值附加到此结果中吗?

将JSONstring或数组转换为Excel文件?

如何将数组/ json转换为Excel文件(Office Open XML)? $result = mysql_query($query); $rows = Array(); while($row = mysql_fetch_assoc($result)) { array_push($rows, $row); } echo json_encode(Array( "data" => $rows ));

减less格式化单元格所需的代码行数?

我试图减less添加边框(和其他格式)到单元格所需的行数。 以下是将在单元格A1周围创build边框的代码: Sub test2() Dim cel As Range Set cel = Range("A1") With cel.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With cel.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With cel.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 […]

在用户表单中调用数组终止/closuresVBA

我有一个问题,我想在用户窗体closures时将用户窗体的内容存储在数组中。 我以为我有正确的语法,但似乎不重新填充userform初始化。 我试图把数组放在自己的模块,这也没有工作。 任何人都在照顾我? 示例代码: Public Sub DPArrayStuff() Dim DP(2) DP(0) = Block1 DP(1) = Block2 DP(2) = Block3 End Sub Private Sub userform_terminate() If Block1.Value <> vbNullString Then Call DPArrayStuff End Sub Private Sub userform_Initialize() If DP(0) <> vbNUllString Then Block1 = DP(0) Block2 = DP(1) Block3 = DP(2) End If End Sub