Tag: excel vba

分割逗号分隔条目到新行

我目前在一张表中有这个数据 Col A Col B 1 angry birds, gaming 2 nirvana,rock,band 我想要做的是在第二列中拆分逗号分隔的条目,并插入像下面这样的新行: Col A Col B 1 angry birds 1 gaming 2 nirvana 2 rock 2 band 我相信这可以用VBA来完成,但不能自己弄清楚。

Excel VBA设置粗体string的特定文本到单元格?

我想在string中设置一些粗体的文字。我该怎么办?

如何停止VBA代码运行?

假设我的电子表格中embedded了一个button,可以启动一些VBAfunction。 Private Sub CommandButton1_Click() SomeVBASub End Sub Private Sub SomeVBASub DoStuff DoAnotherStuff AndFinallyDothis End Sub 我想有一个机会,有一种“取消”button,可以在任意时刻停止SomeVBASub执行,而且我不会在这里涉及到Ctrl+Break ,因为我想静静的。 我想这应该是相当普遍的问题,有什么想法? 谢谢。

如何在csv中将长数字导入excel,而无需在VBA中转换为科学记数法

我用下面的这段代码打开了分号分隔的txt文件,长文件号在保存到excel之后显示为科学记数法,无论格式设置为文本那一栏。 我在这里做错了什么? Application.ScreenUpdating = False Workbooks.OpenText fileName:=Filetxt, Origin:=xlWindows, StartRow _ :=2, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, _ Space:=False, Other:=False, Local:=True, _ FieldInfo:=Array(Array(1, 4), Array(2, xlTextFormat) 'Save text file as csv file Set wb = ActiveWorkbook Application.DisplayAlerts = False wb.SaveAs fileName:=fileXls, FileFormat:=6, _ ReadOnlyRecommended:=False, _ CreateBackup:=False Application.DisplayAlerts = True wb.Close savechanges:=True 在txt文件中logging如下所示:2011-12-21; 100,00;“21375000120000010020601764” 而当我打开新保存的文件,我看到2.117500012E […]

为什么我不能将我的工作簿定义为对象?

为什么我不能以这些方式定义工作簿? (我有范围在那里只是一个快速testing。)我该如何解决? 这会产生一个"Compile Error: Type Mismatch" Sub Setwbk() Dim wbk As Workbook Set wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _ Master Benchmark Data Sheet.xlsx" Range("A2") = wbk.Name End Sub 这会创build一个"Runtime Error '91': Object variable or with block variable not set" Sub Setwbk() Dim wbk As Workbook wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _ Master Benchmark […]

如何以可读的方式重写Excel公式

我有这样的公式的Excel文件: =IF(OR(ISERROR(G16),ISERROR(G17)),X16,IF(OR(G16="xxx",G16="yyy",G16="zzz"),Y16,IF(G16="333","N\A",IF(G17="333",Z16,IF(D17="",IF((HEX2DEC(W$10)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)<0,0,(HEX2DEC(W$10)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)), IF((HEX2DEC(W17)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)<0,0,(HEX2DEC(W17)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE))))))) 我想简化它们,所以它会被写入一个更可读的方式。 我可以用缩进的方式编辑/写入Excel公式吗? 我可以做什么样的简化? 我应该使用VBA脚本而不是Excel的公式吗?

如何根据单元格值删除行

我有一个工作表,我需要删除基于单元格值的行.. 要检查的单元格在A列中 如果单元格包含“ – ”..删除行 我找不到办法做到这一点..我打开工作簿,将所有内容复制到另一个工作簿,然后删除整个行和列,但有特定的行必须根据单元格值被删除。 需要帮助在这里。 UPDATE 我有数据样本

#名称? Excel中的VBA函数错误

我正在做我的第一个VBA程序,并试图运行以下function。 该函数检查第一行的具体命名范围,该行的值不具有大于其前导值但小于1的值。 Public Function findPurchase() Dim CRT As Range Set CRT = Range("CostRateTable") Dim existsBetter As Boolean existsBetter = True Dim r As Integer r = 2 Dim c As Integer c = 4 While existsBetter Dim Found As Boolean FoundBetter = False While Not FoundBetter And c <= CRT.Columns.Count If CRT(r, c) > CRT(r, […]

如何提取文本string中的文本

我有一个简单的问题,我希望解决而不使用VBA,但如果这是唯一可以解决的方法,那就这样吧。 我有一个多行(全部一列)的文件。 每行的数据看起来像这样: 1 7.82E-13> gi | 297848936 | ref | XP_00 | 4-hydroxide gi | 297338191 | gb | 23343 | randomrandom 2 5.09E-09> gi | 168010496 | ref | xp_00 | 2 – 丙酮酸盐 等等… 我想要的是提取以“gi |”开头的数字串的方法 并以“|”结尾。 对于某些行来说,这可能意味着多达5个gi数字,对于其他数字则只能是一个。 我希望输出结果如下所示: 297848936,297338191 168010496 等等…

如何使用单元格内的hex颜色值突出显示单元格?

我有一个符号和匹配hex颜色的电子表格。 我想用单元格内的hex颜色填充单元格本身(或旁边的单元格)。 我已经读了一些关于“条件格式化”的内容,我认为这是做到这一点的方法。 我怎么能达到我想要的结果?