Tag: 函数

UDF来做一种替代数组函数

我试图做一个函数,不仅用一个文本replace另一个文本,而且用另一个横向值集合replace范围内的一组值。 我有这个: Public Function SubstituteRange(RangeWithText As Range, TwoColumnMatrix As Range) As String Dim Text As String Text = "/" & RangeWithText.Value & "/" 'as example st like this: "/" & "1/2/3/4/5/6/7/8" & "/" = "/1/2/3/4/5/6/7/8/" Dim SearchForRange As Range Set SearchForRange = TwoColumnMatrix.Columns(1) 'let us say "A1:A4" with /2/ /3/ /4/ /5/ in each cell […]

如果在Excel中使用RIGHT

这看起来很简单,但显然不正确。 有什么想法? 数据: Cell J5的值就是这个URL: www.url.com/at/ 逻辑:检查单元格J5是以“/ at /”结尾,还是以“de /”结尾,如果其中任何一个值为1,则为真,如果为真,则为零。 这是我试用的function: =IF(OR(RIGHT(J5,4)=“/at/"),(RIGHT(J5,3)=“de/"),"1","0") 我的结果是#NAME?

工作表()。范围()。公式不适用Excel VBA函数?

Excel VBA中使用“工作表()。范围()。公式”有问题。 如果我使用macros,它工作正常(请参阅下面的子方法)。 但是,如果我在一个函数中使用它,它不起作用,我有一个“#VALEUR!” (在法语中,我认为这将是#VALUE!英文)在CELL中的错误消息。 如何解决这个问题? 我正在使用EXCEL 2010 Sub StoreFormula() Worksheets("Sheet1").Range("D20").Formula = "='Sheet2'!D13" End Sub Function Test() As String Call StoreFormula Test = Application.Caller.Address End Function

从macros返回整数

我试图循环通过我的Excel电子表格中的特定行。 对于第一组即时尝试循环通过每3行,以查看是否隐藏和第二个循环我正在步进每2个。我基本上想要添加什么真正的通过两个循环,并返回该值。 “返回y”部分给我一个错误。 Function FindHiddenRows() As Integer Dim x As Integer Dim y As Integer y = 0 For x = 23 To 38 Step 3 If Rows("x:x").EntireRow.Hidden = False Then y = y + 1 End If Next x For x = 40 To 46 Step 2 If Rows("x:x").EntireRow.Hidden = False Then y = […]

Excel:在具有重复值的单元格中,按升序查找数值

几乎是新的一年。 我已经说过一个Excel问题了。 在工作表“锻炼”,我有一个“WorkoutsSummary”表,其中包含以下信息: 正如你所看到的,有两个单元包含锻炼“战神”(这只是训练课程的名称),但是,在表列标题“锻炼顺序”(第二列)中,它们具有不同的值。 在表格中, 除了 “锻炼顺序”列(对于每行都是唯一的),我可以添加更多可包含相同值(相同锻炼,相同开始时间,相同结束时间,相同锻炼持续时间)的行。 所以,说了这么多,我想要做的就是按升序显示所有Ares锻炼(这意味着显示锻炼持续时间值),在其他名为“结果”的工作表中。 现在,正如我所说的那样,它是按升序排列的,即使Ares重复了两次,锻炼顺序中的数值也不是。 这意味着,在结果工作表中,应该首先显示第一个战神(包含16:03的锻炼持续时间),并在其下方显示第二个战神(包含20:04的锻炼持续时间)。 我创build了这个代码: =INDEX(WorkoutsSummary[Workout Duration], MATCH("Ares", WorkoutsSummary[Workout], 0)) 在工作表Results的单元格C13中使用的此代码显示“16:03”,这是第一个Ares的锻炼持续时间。 问题是我无法弄清楚如何使用另一个代码来显示第二个战神。 显然我不能使用相同的代码,因为我会一直显示相同的第一个战神的持续时间。 那时候我认为锻炼顺序的价值在起作用。 任何不清楚的事情,评论,我会尽力解释。

Google表格如果工作表1中的X =工作表2中的Y,则在工作表1上的工作表2中显示Z.

我有一个Google工作表,在该工作表中有多个内部工作表,我有一个概览表,其中列出了所有内部工作表的各个关键点,以便您可以一目了然地查看您之后的信息必须深入挖掘具有所有详细信息的内部页面,将概览视为监pipe者的表格,以便他们可以看到所有关键信息而不需要挖掘页面。 我还有另外一张名为“课程”的表,在那里我们有一个课程清单,以及负责课程的人员和每门课程的相关细节。 我所需要的是在总览表1和课程栏1都有类似于IF X的东西,在相关课程旁边的概览栏2中的匹配课程中显示课程行M的值。 我也是一个问题,总的来说,这些课程是按字母顺序排列的,但是他们根据学生安排的课程,所以表1和表2中的课程排列顺序不一样,随着更多的课程可用,在所有可能的情况下,如果课程没有导师,我宁愿留下空白,而不是像#REF这样的错误,我不知道如何得到一个函数来分解这个。 我已经厌倦了以下,没有运气; =INDEX('Courses'!M:M, MATCH(A:A,'Courses'!A:A, 0)) 编辑 下面是一些例子。 | Courses | Tutor | |———|——-| | A | ? | | B | ? | | C | ? | | D | ? | 课程表 | Courses | Tutor | Pupils | Start Date | End Data | |———|——-|——–|————|———-| | A | […]

在VBA中执行IFfunction

我使用一个= IF函数 =IF(RIGHT(A1;1)="-";"-"&LEFT(A1;LEN(A1)-1);A1)*1 将一个减号从单元格的末尾移到开头,但我想在macros中使用它,以便在同一列 (或相同的select )上执行…

将Exceltypesvariables传递到PowerShell函数

我基本上试图创build一个Power Shell函数,它接受一个variables设置为一个Excel工作表,并返回最后使用的行和列。 我知道代码在一个函数之外工作。 这是我的function看起来像什么。 Function FindRange ([string] $path) { $mainRng = $path.UsedRange.Cells $ColCount = $mainRng.Columns.Count $RowCount = $mainRng.Rows.Count $xRow = $RowCount $xCol = $ColCount Write-Host "function DEBUG xrow:" $xRow Write-Host "function DEBUG xcol: " $xCol Write-Host "function path:" $path } FindRange $BTWSRawSheets $ BTWSRawSheets是: $BTWSRawSheets = $wbBTWS.worksheets | where {$_.name -eq "Export Worksheet"} Write-Host“function path:”$ […]

修改文件属性的Excel VBAfunction

如何修改此代码以提供对象文件夹中每个文件的详细信息? 目前,当我运行它时,我只是获取文件夹的详细信息,而不是文件夹中的文件。 我需要的具体细节是所有者,作者,修改date和名称。 我不知道这是否可以在函数内完成,但我想超链接到实际文件的名称,所以我也需要名称的path。 Option Explicit Type FileAttributes Name As String Size As String FileType As String DateModified As Date DateCreated As Date DateAccessed As Date Attributes As String Status As String Owner As String Author As String Title As String Subject As String Category As String Comments As String Keywords As String End Type […]

VBA发现,如何捕捉什么时候什么都没有find

我只写了一个带有两个UserForms的七页macros,这是一个美的事情。 有两个数据库,左边的数据库比右边的数据库长。 我使用了一个variablesDDataa1和VBA函数: Sub SSearchh() … code … Cells.Find(What:=DDataa1, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate … code … End Sub 它完美的作品除了没有DDataa1find。 (也就是说,在左侧列表中正在search的右侧列表中没有variables。) 在这种情况下,macros只是停止。 我想捕获这个“未find数据”事件,并写入更多的代码特定于此故障,但此function似乎不会产生真/假条件。 将不胜感激