excel 相关问题

仅针对Excel对象或文件编程或复杂公式开发的问题。您可以将Excel标记与VBA,VSTO,C#,VB.NET,PowerShell,OLE自动化以及其他与编程相关的标记和问题(如果适用)组合在一起。超级用户可以获得有关单个工作表功能的MS Excel的常规帮助。

将文件和文件夹复制到基于Excel列表的位置

r/excel - 根据 Excel 列表将文件和文件夹复制到位置 我正在尝试将基于 Excel 中的源列的文件和文件夹列表复制到新位置。我有一份 Excel 列表...

回答 1 投票 0

将 Excel 文件保存到 Sharepoint 失败

我在尝试保存到 Sharepoint 时遇到此代码错误。代码较长,但包含相关部分。 调暗 fso 作为对象 变暗模板作为工作簿 Dim TempPath As String '路径已设置...

回答 1 投票 0

勾选复选框后,标题将被放入以逗号分隔的数组中

我想创建一个代码,其中当选中复选框时,其标题将被放入一个数组中并用逗号分隔。对于复选框 1 到 12,它将用于利润列和

回答 1 投票 0

在工作表 1 中查找值,复制偏移值,在工作表 2 中查找偏移值,在偏移单元格中粘贴文本

我已经研究了很多不同的方法来做到这一点,并尝试将他们的想法合并到这个子中,但每次运行它时我总是遇到不同的错误。我正在

回答 1 投票 0

如何在 Laravel 中进行哈希处理之前导出包括密码在内的用户数据?

我已将 Excel 文件中的用户数据导入到我的 Laravel 应用程序中,为每个用户生成电子邮件地址和哈希密码。现在,我需要导出用户数据,包括密码

回答 1 投票 0

excel vba:将列值求和到最后一列

下面是我的excel格式。 KZ 列是所有列的总计 A|B|C|D|E|F|G|H|.....|KZ| 2|4|3|5|5|6|2|7|.....|34| 8|2|3|5|6|6|3|7|.....|44| 2|0|3|5|5|6|2|7|.....|30| 9|4|3|6|5|6|2|7|.....|44|...

回答 3 投票 0

宏按钮可将一个电子表格中的某些单元格的信息传输到另一个电子表格中

我希望能够构建一个宏,可以轻松地将单元格内容从一个电子表格传输到另一个电子表格。让我更详细地说明一下:我当前打开了两个电子表格。参见

回答 1 投票 0

VBA调用功能

这段代码可以运行,但我需要一种方法来定义变量 x、n 和 c 一次,就像模块范围的变量一样。提供的示例是“调用”许多过程的更大宏的压缩版本。

回答 1 投票 0

如何从多个查找值返回多个项目

我正在使用 Excel 2010 中的宏。 我有一个名为“DATA”的第一张表,其中有责任规则及其属性。 我正在处理 Excel 2010 中的宏。 我有一个名为“DATA”的第一张表,其中有带有其属性的责任规则。 <Rule name Source label Criteria etc… until column V RGC-EC-01 AU-DU AUDIT = RGC-EC-01 DU-FICT FICT R RGC-EC-01 NNE-ECC CONTRACT E RGC-EC-02 DU-FICT FICT > RGC-EC-02 LO-DT DIT <> etc… 第二张表名为 OUTCOME。 此时除了标题(与数据表相同)之外没有任何数据。此工作表的目的是根据我正在查找的规则名称复制工作表 DATA 中的所有数据。 规则名称出现在 W 列(结果表)中,有几个取决于我正在寻找的内容(另一个电子表格不用担心)。 我想报告有关 W 列到结果表的值的匹配数据。 这就是如何在一个命令中从多个查找值(多个规则(范围单元格))复制多行(一个规则有多行)。 例如 W2=RGC-EC-01 W3=RGC-EC-02 我想检索上面列出的所有值等等。 我制作了一个数组公式,但它专注于一个值(在本例中为单元格 W2) =IFERROR(INDEX(DATA!A$2:A$7000;SMALL(ROW(DATA!$A$2:$A$7000)*(DATA!$A$2:$A$7000=$W$2);COUNTIF(DATA!$A$2:$A$7000;"<>"&$W$2)+ROW()-1)-1);"") 我将此公式集成到结果表中的单元格 A2 上,然后扩展它以捕获规则名称中的下一个属性(源、标签等...)。它正确地报告了 W2 上存在的规则中的所有行,但正如我所说,我仅限于一个查找值(一条规则)。 宏应循环此数组公式,以在 W 列不为空时整合 W 列中的所有值,并将数据复制到结果表上。 我已经找了两天了,但由于缺乏VBA技能,我仍然无法成功。 欢迎所有帮助! 谢谢 问候, 克里斯 如果您想保留数组公式,这就是您想要的: {=IFERROR(INDEX(DATA!A:A,SMALL(IF(COUNTIF($W$2:$W$10,DATA!$A$2:$A$1000),ROW($2:$1000)),ROW()-1)),"")} 编辑 我假设您对如何通过 VBA 实现这一目标感兴趣。我将为您提供一个简短的代码,它可以完成您想要的一切。 Sub copyByFilter() With Sheets("DATA") Intersect(.[A:V], .UsedRange).AutoFilter 1, Application.Transpose([OUTCOME!W2:W100]), 7 Intersect(.[A:V], .UsedRange).Copy [OUTCOME!A1] .[A:V].AutoFilter End With End Sub 首先,它使用 Excel 中的内置自动过滤器仅显示符合您条件的值。然后它会复制整个范围并将其粘贴到您的目的地(具有格式并且按照相同的顺序,但没有您不想要的行)。最后一步,它会从“数据”中清除自动过滤器。也就是说:如果您手动使用自动过滤器,那么它会在执行后消失(但您可以再次打开它)。 ;) 没有“循环”/“变量”/“if”或类似的东西。只是少量的功能(按照它们出现的顺序): Sub With Sheets Intersect [](方括号) UsedRange AutoFilter Application.Transpose* Range.Copy * Application.Transpose还有另一个“奇怪”的行为,可以在here@Jon49的回答中看到。 编辑2 如果无法进行自动过滤,那么遍历所有行似乎是不可避免的...我将向您展示如何使用数组公式来实现此目的,例如: COUNTIF(OUTCOME!W2:W***,DATA!A2:A***) 需要将 *** 替换为适当的行号。这是(DATA): Range("A" & Rows.Count).End(xlUp).Row 如果在 INDEX 中使用,vba 中的 Evaluate 函数可以返回一个数组,该数组会无数次跳过检查每个单元格的部分(这也更快)。把所有的东西放在一起,我们就会得到这样的结果: Sub copyByFilter2() Dim temp As Variant, xList As Range, i As Long, xRows As Long With Sheets("DATA") xRows = .Range("A" & .Rows.Count).End(xlUp).Row temp = Evaluate("INDEX(COUNTIF(OUTCOME!" & Sheets("OUTCOME").Range("W2", Sheets("OUTCOME").Range("W" & .Rows.Count).End(xlUp)).Address & ", DATA!" & .Range("A1:A" & xRows).Address & "),)") Set xList = .Range("A1:V1") For i = 2 To xRows If temp(i, 1) Then Set xList = Union(xList, Intersect(.Range("A:V"), .Rows(i))) Next xList.Copy Sheets("OUTCOME").Cells(1, 1) End With End Sub 因为整个EDIT2都是通过电话完成的,所以可能会有错别字。新函数的链表也将被跳过。 如果您还有任何疑问或问题,请询问/告诉我:) 我知道可用于执行此操作的公式是“lookupconcat”归功于他的作者。 如果您想忙碌起来,这里有一个 VBA 解决方案。按 ALT + F11 打开 VB 编辑器。在左侧窗口中,找到“VBA Project”下的“This Workbook”,双击它并粘贴以下代码: Option Explicit Sub CopyRules() Dim cell As Object Dim rowLoop As Long Dim ruleLoop As Long Dim writeLoop As Long Dim rulesToFind As Variant Dim rowsToCopy As Variant Dim copyCount As Long 'Get the unique rules in the selected range into a variant array For Each cell In Selection If Len(cell.value) > 0 Then rulesToFind = FncAddtoVariant(rulesToFind, cell.value) End If Next cell 'Get the row numbers that match this criteria into a variant array Do While ruleLoop <= UBound(rulesToFind) 'We start at row #2 because we assume headers in row #1 For rowLoop = 2 To ActiveSheet.UsedRange.Rows.Count If Range("A" & rowLoop).value = rulesToFind(ruleLoop) Then rowsToCopy = FncAddtoVariant(rowsToCopy, CStr(rowLoop)) End If Next rowLoop ruleLoop = ruleLoop + 1 Loop 'Copy the rows to the different sheet For copyCount = 2 To UBound(rowsToCopy) + 2 Sheets("DATA").Select Rows(rowsToCopy(copyCount - 2) & ":" & rowsToCopy(copyCount - 2)).Select Selection.Copy Sheets("OUTCOME").Select Rows(ActiveSheet.UsedRange.Rows.Count + 1 & ":" & ActiveSheet.UsedRange.Rows.Count + 1).Select ActiveSheet.Paste Next copyCount End Sub Private Function FncAddtoVariant(arr As Variant, value As String) As Variant Dim i As Integer If Not FncArrayInitialised(arr) Then ReDim arr(0) i = 0 Else If Not FncPreviouslyAdded(arr, value) Then i = UBound(arr) + 1 ReDim Preserve arr(i) End If End If arr(i) = value FncAddtoVariant = arr End Function Private Function FncArrayInitialised(val) As Boolean On Error GoTo FncArrayInitialisedError Dim i If Not IsArray(val) Then GoTo exitRoutine i = UBound(val) FncArrayInitialised = True exitRoutine: Exit Function FncArrayInitialisedError: Select Case Err.Number Case 9 'Subscript out of range GoTo exitRoutine Case Else Debug.Print Err.Number & ": " & Err.Description, _ "Error in Initialized()" End Select Debug.Assert False Resume End Function Private Function FncPreviouslyAdded(checkArr As Variant, item As String) As Boolean Dim i As Long Dim found As Boolean Do While i <= UBound(checkArr) And found = False If item = checkArr(i) Then found = True i = i + 1 Loop FncPreviouslyAdded = found End Function 然后您应该为此宏分配一个按钮:https://support.microsoft.com/en-gb/kb/141689 完成此操作后,您只需在工作表的“A”列中选择一个范围,然后单击宏按钮,它应该将所有相关列复制到另一个工作表中。

回答 3 投票 0

在 Excel 中搜索列,查找值,选择并删除

自从我完成一些编程以来已经有一段时间了,但我对简单的 excel vba 宏没有太多运气。我的列中有数据,我需要选择然后删除不包含

回答 1 投票 0

我们可以在VBA中使用条件编译在函数内声明变量吗?

我必须重构一个旧的宏,该宏在较新的 MS-Office 365 版本中失败。 对于 kernel32 和 User32,我在顶部声明了函数变量,如下所示: #如果 Vba7 那么 声明 PtrSafe 有趣...

回答 1 投票 0

Python 脚本不会重命名文件夹中最后一个 .xlsx 文件

我正在尝试通过Python重命名文件夹中的一系列.xlsx格式的Excel文件。要重命名它们,我需要首先从每个工作簿中获取一些信息。我在做这件事时遇到了困难

回答 1 投票 0

使用 Excel VBA 抓取 Investing.com

我想从 www.investing.com 上抓取历史数据。我使用 Erjon 的原始代码(使用 Excel vba 在 Investing.com 中进行网页抓取)作为模板,并面临以下问题

回答 1 投票 0

将一系列单元格存储到数组中,稍后将其作为表格导出到powerpoint

我有这两个for循环,它们试图为powerpoint演示创建幻灯片,但其中一个循环应该查找并存储引用数据透视表的特定单元格范围 这个是

回答 1 投票 0

使用Word/Outlook邮件合并并添加参数:递送时间

我有一个邮件列表。大约有500人左右。然而,我的主人告诉我,我不能在一小时内发送超过 100 封电子邮件,否则他们会阻止它。 所以,在过去的几年里,我一直在分裂......

回答 1 投票 0

VBA 自动过滤两列中的部分匹配

我想使用自动过滤器在两列中进行部分匹配,它不适用于两列,但适用于一列。 我可以知道如何用字符过滤数字吗? 作为 Mws.Range("E5")...

回答 1 投票 0

跨多列溢出范围求和,使用溢出公式将前 x 和组保留在一起

所有,我的目标是获得溢出公式的摘要输出,该公式生成前 x 行,但最后一行对所有其他行进行分组,以便总数将与数据源相关联。 (第一张图...

回答 1 投票 0

将 Excel 数据导出到 Word(单元格值和表格)

我正在创建一个宏来将Excel表格和其他一些单元格值粘贴到word中,但该宏适用于复制表格,但它不导出其他单元格值。我不能...

回答 1 投票 0

根据另一栏内容编写特定文本

我想知道是否可以根据另一栏内容编写特定的文本。 例如我有这个专栏 我想做的是:每次我在水果栏里写芒果时,它都会

回答 1 投票 0

如何在 PhpSpreadsheet 工作簿中按名称对工作表进行排序而不破坏工作表索引?

我目前正在使用 PhpSpreadsheet 生成 .xlsx 格式的评估报告。这些评估已分类(例如评估 A、评估 B 等),我需要对所有类似的进行分组...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.