Questions tagged «microsoft-excel»

Microsoft的电子表格应用程序。如果您的问题涉及在VBA中对Excel进行编程,请与[vba]一起使用此标记,如果涉及Excel公式或工作表函数,请与[worksheet-function]一起使用。


1
Excel VBA - 如果单击并选择单元格范围内的单元格,则运行宏
我需要一个例程来识别是否在一个范围内单击了一个单元格,然后运行一个宏。我已经部分地解决了这个问题。 我的问题是: 我需要在单击单元格时切换值,而不是在选择单元格时切换值,所以 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range(testRange) Is Nothing Then 'Cell was Clicked End If End Sub 只要没有选择单元格,它只适用于我。 我能做什么?是否有功能检查是否执行了鼠标单击并选择了单元格?

3
在Excel曲面图中更改箱尺寸
这似乎是一个简单的问题,但我无法在线找到解决方案。我在Excel中创建表面图,我想看看是否有办法设置颜色的bin大小。现在Excel默认为我的数据的4个bin(颜色),但我想显示更多以获得更多的渐变效果。

1
无法按两列或更多列对Excel数据透视表进行排序
我想用两列对我的数据透视表进行排序。我在网上搜索了一段时间,似乎Excel不允许这样,所以我需要一个解决方法。 我的数据 期望的结果 我想通过客户总结这个,按订单数量排序,然后按订单总价值排序 - 所以这是我希望看到的表格的模型: 使用透视表的实际结果 这是我的数据透视表实际上的样子。如果按排序计数排序,则值列的顺序错误。如果按值排序,则计数顺序错误。没有为透视表的辅助列排序相等值的概念。 题 如何按多列对Excel透视表进行排序? 注意: 我知道如果你有两组行标签,你可以按多列对透视表进行排序, 就像我在这里展示的一样 。但在这种情况下,由于各种原因,我只想要一组行标签。

3
如何在Excel中为非数值赋值
我有一些调查回复,其值为“非常不可能”的“VU”和“有时”的“S”。每个调查回复占据一个单元格。对于包含调查响应的每个单元格,我想用相应的数字填充另一个单元格。例如,对于包含“VU”的每个单元格,我想填充数字为1的相应单元格。 这是怎么做到的?

2
除非手动更改单元格,否则Excel工作表更改事件不会触发
我使用以下代码,效果很好。但是,应该触发此事件的单元格的更改是使用公式而不是单元格中的条目。如果我输入条目,一切正常。但是,如果我使用公式从另一个工作表中获取数据,则不会。例如,AD中的细胞具有类似的公式 =HR!P27。 我错过了什么? 码: Private Sub Worksheet_Change(ByVal Target As Range) 'Update 20140722 Dim WorkRng As Range Dim Rng As Range Dim xOffsetColumn As Integer Set WorkRng = Intersect(Application.ActiveSheet.Range("AD:AD"), Target) xOffsetColumn = -1 If Not WorkRng Is Nothing Then Application.EnableEvents = False For Each Rng In WorkRng If Not VBA.IsEmpty(Rng.Value) Then …

1
使用Excel 2010在一个单元格中组合两个IF函数
我有这两个IF功能,它们可以自己正常工作。我需要将两者合并为一个单元格,但似乎无法让它们起作用。任何帮助,将不胜感激。并提前感谢。 屏幕截图1 =IF(AND((D5="Intel"),(Z5="Not Attempted")),"Not Attempted") 截屏2 =IF(AND(OR(D5="Pilot", D5="Sensor", D5="Admin"),(Z5="Not Attempted"),OR(C5="E-1",C5="E-2",C5="E-3",C5="E-7",C5="E-8",C5="E-9",C5="O-4",C5="O-5",C5="O-6")),"Not Required", "Not Attempted" ) 我没有运气就试过以下组合。 这个导致屏幕捕获3 =IF(AND((D5="Intel"),(Z5="Not Attempted")),"Not Attempted")=IF(AND(OR(D5="Pilot", D5="Sensor", D5="Admin"),(Z5="Not Attempted"),OR(C5="E-1",C5="E-2",C5="E-3",C5="E-7",C5="E-8",C5="E-9",C5="O-4",C5="O-5",C5="O-6")),"Not Required", "Not Attempted") 这个组合导致#VALUE!单元格出错: =IF(AND((D5="Intel"),(Z5="Not Attempted")),"Not Attempted"),IF(AND(OR(D5="Pilot", D5="Sensor", D5="Admin"),(Z5="Not Attempted"),OR(C5="E-1",C5="E-2",C5="E-3",C5="E-7",C5="E-8",C5="E-9",C5="O-4",C5="O-5",C5="O-6")),"Not Required", "Not Attempted") 这个屏幕截图是我手动更新单元格以显示我需要它们显示的内容,屏幕截图4

2
Excel和VBA - 函数的底层代码在哪里?
我想知道在Excel或在线的任何地方,我可以使用它来查看Excel中的函数是如何工作的。 我的想法是,我开始学习如何制作UDF,并在VBA中做各种事情,并认为如果我能看到Excel实际执行的方式 Sum() 例如,我可以学习如何使我的代码更紧凑,占用更少的空间等。 基本上,Excel的内置函数如何工作的存储库?这甚至可用吗? 编辑:我知道公式可能用非VBA编写。那很好 - 我只是好奇是否有办法看到它们,无论它们是用什么语言写的。 编辑2:总的想法是我正在学习C ++ / VBA / C#,并且希望看到“官方”函数只是为了了解它们是如何工作的,并看看是否有任何方法可以加速代码。 OpenOffice功能也很好!



1
轻松更新excel工作簿的传入外部链接的策略
假设您有2个工作簿名称“PrivateWorkbook”和“PublicWorkbook” PublicWorkbook可供我们公司的每个人使用。 PrivateWorkbook只能由经理访问。 PublicWorkbook和PrivateWorkBook之间有外部链接。 更新PrivateWorkbook时,PublicWorkbook中的单元格应该反映这些更改。 但是,PublicWorkbook链接刷新的唯一方法是管理员在编辑PrivateWorkbook后打开Publicworkbook。 如果非经理首先打开PublicWorkbook,则无法刷新链接,因为他无权打开PRivateWorkbook。 无论如何,当经理编辑私人工作簿而不强迫他们手动打开公共工作簿时,我可以更新PublicWorkbook吗?

1
对Excel范围进行排序,该范围大于Excel表
我有2个并行(并排)相同高度的Excel表,它们之间有一个完全空白的列(没有数据,也没有标题)。表的行对应于另一个表的相同行(因此它们必须保持平行),但没有公式将它们链接在一起。 通过任一表中的任何列对整个范围(两个表)进行排序的最简单方法是什么? 背景:文档定期上传到只需要左表的程序中。程序从A1开始并在第一个空白列处停止上载范围,因此其间的列必须为空。 编辑:简单示例 - 左表自动上传,右表用于获取其他信息(对于有权访问源文件的内部组)。行彼此对应,因此按任一表中的任何列排序也应该对另一个表进行排序。 为了结构化引用的好处,这些必须被格式化为表格(这显然比这个简单的例子更复杂): 当前变通办法:将数据保持在简单范围内,允许在整个范围内进行过滤,包括空白列。 不幸的是,它确实牺牲了结构化引用的可读性:

1
复制命令和Excel文件的意外结果
从Windows批处理文件执行“复制”命令时我注意到一些奇怪的事情,并且想知道是否有人之前遇到过此问题并且可以解释原因。 我在批处理文件中有一行,它将Excel文件从位置A复制到位置B,并且还重命名该文件。例如: Copy \\server\share\folder\locationA\file_*.xlsx \\server\share\folder\locationB\file.xlsx /y 副本看起来很好,因为Excel文件存在于位置B,但是当我打开文件时,我收到一条错误消息,指出: “Excel无法打开文件...因为文件格式或文件扩展名无效。请验证文件是否已损坏,文件扩展名是否与文件格式匹配。” 我使用上面的命令行运行了一些测试,并注意到只有在A部分的文件名中使用通配符时才会出现此问题。例如,文件副本,我可以使用此命令打开它: Copy \\server\share\folder\locationA\file_LongName.xlsx \\server\share\folder\locationB\file.xlsx /y 我意识到有很多方法可以解决这个问题,但我对解决方案不感兴趣,我对解释感兴趣。我的问题是为什么会发生这种情况?

1
Excel错误?跨过滤数据进行剪切/复制粘贴时的行为不一致
问题 在复制/剪切/删除过滤数据中的数据时,我在Excel 2016中看到以下不一致的行为: 复制单元格:数据仅从可见单元格中“复制”,而不是从过滤后的单元格中复制。 切割细胞:数据从两者中“切割” - 可见细胞和过滤细胞。 粘贴单元格:数据粘贴到两者 - 可见细胞和过滤细胞。 格式化/删除/向下拖动/其他:只有可见的单元格受到影响,而不是受影响的单元格。 我认为这种不一致行为没有充分理由 - 这是一个错误吗?或者有什么理由吗? 更重要的是,有什么方法可以让Excel在切割和粘贴数据时忽略隐藏的行,以便它与其他操作更加一致? 演示 要试用此功能,请在Excel中创建下表: 接下来,使用Category =“Hide”过滤掉行: 你应该看到类似的东西: 现在,执行以下操作: 在“ 复制自”列(AAAA,BBBB,EEEE,FFFF)中选择可见单元格,然后复制它们(CTRL-C在Windows上) 转到Copy-To下的第一个空单元格和粘贴(CTRL-V在Windows上) 在“ 剪切自”列(GGGG,HHHH,KKKK,LLLL)中选择可见单元格,然后剪切它们(CTRL-X在Windows上) 转到Cut-To下的第一个空单元格和粘贴(CTRL-V在Windows上) 在Format列中选择可见单元格(MMMM,NNNN,QQQQ,RRRR),然后将它们粗体化(CTRL-B在Windows上) 在“ 删除”列(SSSS,TTTT,WWWW,XXXX)中选择可见单元格,然后删除它们(DEL在Windows上) 选择拖动列(1月)中的第一个单元格,然后将其向下拖动到列的末尾(直到CCCC)。 你现在应该看到: 现在,从“ 类别”列中清除过滤器,您应该看到: 基于以上所述,我们可以看到过滤单元的处理方式存在一些不一致之处: 复制:忽略已过滤的单元格 剪切:对过滤后的细胞进行操作 粘贴:对过滤的单元格进行操作 删除:忽略已过滤的单元格 格式化:忽略过滤的单元格 向下拖动数据:忽略已过滤的单元格 奖金 过滤单元格的这种行为与隐藏单元格的处理方式不同(隐藏单元格,右键单击列或行标题,然后选择Hide- 这将隐藏整个行或列)。隐藏行包含在所有操作中 - 也就是说,如果隐藏行,我们可以复制,剪切,粘贴,删除,格式化等数据。对于“已过滤”的数据,操作似乎表现不一致。 另外,有趣的是,当数据被隐藏而不被过滤时,Drag操作的行为也不同 - 而不是在任何地方重复“1月”,它表现得更智能,并显示2月,3月等。

1
Excel 2003宏未看到命名单元格
我正在尝试清理我直接引用单元格的excel宏(“LoopCount = Range(”E4“)。值”)而不是使用命名单元格(“LoopCount = Cell_LoopCount”)。 所以我将单元格E4命名为“Cell_LoopCount”。每当我选择单元格E4时,它的标签就在左上角。 在宏的开头,我添加了“表格(”数据“)。选择”以确保我在正确的工作表上操作, 但是在“LoopCount = Cell_LoopCount”之后断开,显示Cell_LoopCount为空且LoopCount = 0 “LoopCount =范围(”E4“)。值”仍然可以正常工作 我错过了什么明显的事情?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.