Tag: 数组

具有4个条件的Excel IF语句

我有下拉列表在Excel中,当从下拉列表中select了下面的单元格显示一个值。 我可以得到以下工作,但是当我尝试添加第四个值时出错。 我错过了什么或需要做什么不同? =IF(B1="Report","Complete Report Section",IF(B1="HLE","Complete HLE Section","")) 我需要添加一个IF B1 =增强,完整增强部分,但由于某些原因,我不能。

多个嵌套循环和数组,SubScript超出范围

仍然习惯于处理数组和循环。 有人会用这个来指出这个问题吗? 为了检查它,它是一个简单的循环,检查表1中的a1:a100,并在每张表中检查b1:b100,然后返回表Sheet1中的计数!c1:c100 提前致谢 Private Sub TheLoops() Dim SearchArray() Dim SheetArray() Dim ColumArray() Dim ReturnArray() Dim ModCount As Long SearchArray = Sheet1.Range("a1:a100") SheetArray(0) = Sheet1 SheetArray(1) = Sheet2 SheetArray(2) = Sheet3 ColumArray = ActiveSheet.Range("b1:b100") ReturnArray = Sheet1.Range("c1:c100") ModCount = 0 For I = LBound(SearchArray) To UBound(SearchArray) For L = LBound(ReturnArray) To UBound(ReturnArray) For J = […]

VBA错误'方法范围…失败'(通过variables声明范围)

我在两张纸上find最后一行和最后一列,并将这些值分配给variables。 然后,我使用这些variables来形成一个范围的边界,将其放入一个VBA数组中。 为什么当我放置在与参考中使用的纸张不同的纸张上时,出现错误(对象“_Worksheet”失败的“方法范围”)? 我正在使用代号。 代码如下: Private arrPlan() As Variant Private lastRowSource As Long Private lastColSource As Long Private arrRawData() As Variant Private lastRowDestination As Long Private lastColDestination As Long Private arrStrings() As Variant Private str As String Public Sub Google_Plan_Into_RawData() '———————— Read Excel ranges into Arrays —————– lastRowSource = Sheet1.Range("A" & Rows.count).End(xlUp).Row lastColSource = Sheet1.Range("A1").End(xlToRight).Column […]

Excel – 将数组传递给函数

在我的文件中的一张纸上,我有一些定义为命名范围的数组。 另一张表我想使用一个下拉菜单,或类似的select名称范围之一的名称,并具有该名称范围的数据/内容填充第二张纸上的范围。 这可能没有 VBA? 有数组公式可以做到这一点吗? 我想到的一种不是完全优雅的方法是使用index函数,并将其复制到与最大命名范围的大小等效的单元格范围内。 就像是: =INDEX(range_1,ROW(),COLUMN()) 这需要我能够将一个命名区域的名称传递给一个函数。 这可能吗? 任何一个或这两个问题的答案将不胜感激。 没有这个,我唯一能想到的就是使用暴力, offset抬头,我不想这样做。 谢谢你的帮助。

MS Excel:如果查找数组太大,“MATCH()”找不到包含文本的单元格

我正在创build一个庞大而复杂的时间表,我想要一个视图将时间表显示为一个白天的网格,另一个视图允许从一个按字母顺序排列的名单中按名称查找演讲者。 我在这里发布了一个简化的例子: 在字母表中,date和时间应该由使用MATCH的函数填充。 举个例子,我手动input了我想为琼斯发生的事情。 我不能让MATCH()正确地在时间表中find发言者的名字。 没有隐藏的字符:请注意在单元格D15中Excel正确识别G2和C7是相同的。 这里是如果我把各种代码放在H2中会发生什么事情: = MATCH(G2,$ A $ 1:$ D $ 9)导致#N / A = MATCH(G2,$ C $ 2:$ C $ 9)导致#N / A = MATCH(G2,$ B $ 7:$ D $ 7)结果为2(正确!) = MATCH(G2,$ A $ 7:$ D $ 7)导致#N / A 我想将= MATCH(G2,$ A $ 1:$ D $ 9)放入H2中,然后将单元格填充到H25,并用Excel表示相邻名称出现的那一天的列号,然后使用INDIRECT或者把这个数字转换成星期几。 可能是由于数据types不同,在search数组中包含列A会导致问题。 作为一个实验,我把第一列写入TEXT,在这种情况下= […]

从VBA中返回数组的值

我已经定义了一个消息函数来放置不同的消息。 这意味着当我以一种forms调用这个函数时,只有相应的select的消息必须显示在屏幕上。 这里我的例子: 'Thats the message sub Public Sub MsgString(txtNo As Byte) MsgBox MsgTxt(txtNo) End Sub 'Thats the message function to return the corresponding value, which is chosen Private Function MsgTxt(txtNo As Byte) As String Dim arrMsgTxt() As Variant arrMsgTxt = Array("error message number one", "error message number two", "error message number three") For txtNo […]

在列中循环查找/replace数组时,出现“下标超出范围”错误

我在excel表单上有两个名单(sh1 – Column A, Column D) 。 在另一个excel表格(sh2 – Column B) ,我还有一个名字列表。 我正在尝试在列B中find/replace列D上的A列名称。 我的完整代码列在底部。 我在这一行上得到一个“下标超出范围”的错误: Selection.Replace What:=fndArr(i), Replacement:=rplArr(i), LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _ ReplaceFormat:=False 我已经检查了范围,看起来代码应该循环遍历sh2中的每个单元格。列B查找列A数据并用列D数据replace它。 我正在这个总的空白。 有谁知道我为什么得到这个错误? 感谢您的帮助。 Column A | Column B | Column D ——————————————– Hugh Jackman | Hugh J | Hugh Jackman Ronald Reagan | Ronald R | Ronald Reagan John […]

我在VBA中使用reDim时遇到了麻烦,无法弄清楚它是如何工作的

我想写一个函数,其中input是一个string(如ACGTTGCATGTCGCATGATGCATGAGAGCT)和一个整数(如4)。 函数应该能够识别inputstring中最常用的整数长度的子string。 我认为我应该使用reDim,虽然我已经研究了它应该如何工作,但我无法弄清楚正确的语法。 代码挑战:解决频繁的词问题。 input:string文本和整数k。 输出:文本中所有最常见的k-mers。 Function BIOINFO2(txt As String, k As Integer) Dim FrequentPatterns As String Dim ptrn As String Dim n() As Integer Dim i As Integer Dim s As Integer Dim j As Integer Dim maxCount As Integer For s = 1 To Len(txt) – k + 1 ptrn = Mid(txt, s, […]

具有标准的独特值的大函数

所以需要find一个标准范围内的最大数字,我有这个公式: {=LARGE(IF(range=criteria,values),n)} 但我需要它只带来独特的价值观! 任何input将不胜感激! 非常感谢!

如何使用if,match和index来不同地安排表格数据?

如附图所示,我需要将A2:D10转换为A12:E17的格式。 从F1到AB12的4个表格是我使用if,match和index的实验。 相同的公式得到不同的结果,它似乎取决于表的行位置。 在我以前的问题中 ,我试图找出if函数的问题。 我在这里做错了什么? 谢谢,卢 在这里input图像说明