Tag: 简化

在excel vba中简化代码到一行

这是我的代码: Sub part1() Range("A1", Range("A1").End(xlDown)).Select Selection.NumberFormat = "0" End Sub 我想将它简化为1行,以便将列A格式化为整数。 我知道这是一个非常简单的问题,但请帮助我。

Excel VBA – 简化logging代码时的运行时错误1004

我有一个录制的macros,我尝试通过在一行中获取一些激活和select语句来简化,但这会导致运行时错误。 这不是一个严重的问题,但我只是好奇,想知道发生了什么事情。 这是我最初的代码片段(它在过程中的前面是一个复制代码片段): ThisWorkbook.Activate Sheets("MS Act Report").Select Range("G1").Select ActiveSheet.Paste 这是我的简化代码: ThisWorkbook.Activate Sheets("MS Act Report").Range("G1").Select ActiveSheet.Paste 当运行这个我得到一个 runtime error '1004': Select method of Range class failed

IF中的函数太长。 如何简化?

我已经在Excel 2003工作表的单元格中编写了一个长的If函数。 我想补充一点,但是,Excel告诉我,我的function太长了。 有人知道如何简化或减less函数的长度? 在Column K3 ,我有一个缺陷types的下拉列表,然后这个中间函数在列L3中出现一个特定的缺陷描述,这个缺陷描述是根据column K3select的缺陷types。 =IF(ISTEXT(K3)=TRUE,IF(OR(K3="Abnormal Finishing",K3="Bending Mark",K3="Bent",K3="Contamination",K3="Crack",K3="Damage",K3="Dented",K3="Discoloration",K3="Finger Print",K3="Flow Mark",K3="Gap",K3="Insufficient Paint",K3="Scratches",K3="Rusty",K3="Stain Mark",K3="Standoff Mark",K3="Tool Mark",K3="Warpage",K3="Water Mark",K3="White Mark",K3="White Spot"),"Cosmetic",IF(OR(K3="Angle Out",K3="Dimension Out",K3="Fitting Problem"),"Dimension",IF(OR(K3="Assembly Misalignment",K3="Fan Broken",K3="Fan Not Functioning",K3="Assembly Wrong Orientation",K3="Missing Component",K3="Missing Rivet (Assembly)",K3="Part Warping (Assembly)",K3="Rivet Loose (Drop) (Assembly)",K3="Rivet Wrong Location (Assembly)",K3="Rivet Wrong Orientation (Assembly)",K3="Screw Loose (Drop)",K3="Screw Stuck"),"Assembly","ERROR"))),"ERROR")

简化偏移值的范围

我的脚本是完整的,但有一部分我想“调整”和简化。 如果其中一个单元格满足特定的条件,我有三个值将被删除。 我将相同的WITH语句应用于所有三个单元格。 修剪它以select所有三个值将是很好的,所以我可以减less它只有一个循环。 为了简单,我只包括脚本的重要部分,所以忽略缺less的定义。 For Each rngCell In NetworkPatchRange If InStr(rngCell.Value, "-") > 0 Then rngCell.Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With rngCell.Offset(0, -1).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With rngCell.Offset(0, -2).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 […]

使用VBA将数据string拆分为列AND行

我正在尝试加快正在运行的自动化工作簿。 PHP向VBA发送类似于下面的string: 1[|:#:|]text-one[|:#:|]code-one[|:#:|]qty-one[{:#:}] 2[|:#:|]text-two[|:#:|]code-two[|:#:|]qty-two[{:#:}] 哪里 [|:#|]代表“新列” [{:#:}]代表“新行” 当它被VBAparsing时,这是输出: 我目前使用下面的VBA代码来parsing这个工作簿: myArray = Split(myReply, "[{:#:}]") myRow = 1 For Each element In myArray myRow = myRow + 1 subArray = Split(element, "[|:#:|]") myCol = 2 For Each subelement In subArray myCol = myCol + 1 Cells(myRow, myCol).Value = subelement Next subelement Next element 我即将开始优化此工作簿中的代码,并且我知道我可以执行类似(伪代码)的操作: for each element…. […]