小编5th*_*4x4的帖子

确定单个列中的最后一行

我在COLS与数据在片材A通过H.

我需要确定A包含数据的列中的最后一行(它是所有连续的 - 数据/行中没有间隙).

其他列中的数据也包含比列更多的数据行A,因此我只需要隔离列A.(和/或只是col内的范围A).

我可以在电子表格级别使用

=COUNTA(A2:A100)
Run Code Online (Sandbox Code Playgroud)

然而,在我对Google Apps脚本解决方案的所有研究中,我似乎都发现需要执行多个功能,包括几十行代码 - 包括大量的i++内容......我可以通过直接抵消来减少复杂性A1.

是否可能有特定于列的方法来修改此方法?

var aLast = ss.getDataRange().getNumRows();
Run Code Online (Sandbox Code Playgroud)

如果需要一个复杂的过程,那就这样吧.但我发现很难想象(甚至更难找到!)一个更简单的解决方案.

有人关心开导我(或弹出我的泡泡)?

google-sheets google-apps-script

50
推荐指数
9
解决办法
9万
查看次数

粘贴特殊值

我有一个由3列和2(或更多)行组成的范围.中间栏包含一个公式:=TRANSPOSE(SPLIT(A1,","))

脚本需要将该范围移动(剪切)到另一个工作表上作为,而不是公式.

google-apps-script是否有办法做"PasteSpecial - Values"?

这是我目前使用的线路:

sheet1.getRange("F1:H3").moveTo(sheet2.getRange("A1")); 
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何在他们进入sheet2之前锁定这些值吗?

(仅供参考:这只需要代码解决方案)

google-sheets google-apps-script

3
推荐指数
1
解决办法
3万
查看次数

动态创建的下拉验证列表

在 A1 范围内,我有一个下拉验证列表。根据用户从该列表中的选择,我想在范围 C1 中动态创建一个新的下拉验证列表。例如,在 A1 中,列表包含:

一种

C

因此,如果用户从列表中选择 A,则 C1 中的新列表包含:

1) 烦人的橙子

2) 愤怒的小鸟

3) 任意样本

如果用户选择 B,则新列表包含:

1) 臃肿的代码

2)最好不说

3) 错误的尝试

等等

使用 VBA 很容易做到。但是在 GAS .... 我完全不知道如何开始:/

validation google-sheets google-apps-script

3
推荐指数
1
解决办法
1万
查看次数

根据值更改单元格背景颜色onEdit

如何根据onEdit()函数中单元格的内容更改单元格背景颜色?

我已经测试了很多版本的代码 - 有些代码工作得很好,有些代码根本没用.但我还没有按照我需要的方式让它工作.

请原谅我写的方式缺乏优雅,但实际上我需要保持代码尽可能简单,因为会有很多细胞变化,许多条件,以及许多不同数量的细胞将根据什么改变在工作表上更改.

好的,所以这里......

function onEdit(event)
{
 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");   
 var changedCell= event.source.getActiveRange().getA1Notation();

 if (changedCell == 'B3') {
 var c = ss.getRange("B3").getValue();
  if (c < 2); {
  ss.getRange("B3").setBackgroundColor('#ff0000');  
  ss.getRange("B12").setBackgroundColor('#ff0000'); 
  }
  if (c > 1); {
  ss.getRange("B3").setBackgroundColor('#000000');  
  ss.getRange("B12").setBackgroundColor('#000000'); 
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

3
推荐指数
1
解决办法
2万
查看次数

Excel VBA:搜索字符串以查找第一个非文本字符

单元格包含字符串中的字符混合,例如:

Abcdef_8765
QWERTY3_JJHH
Xyz9mnop

我需要找到第一个非A-Za-z字符,以便我可以删除字符串的后续剩余部分.

结果将是:

Abcdef
QWERTY
Xyz

如果我确切地知道我正在寻找什么角色,我知道如何做到这一点,但我并没有直觉地抓住如何找到除了之外的 任何角色A-Za-z.

顺便说一句,这是为了在解决方案中使用.

====================

编辑:

我在以下方面取得了成功......

a = "abc123"
b = Len(a)

For x = 1 To b

c = (Mid(a, x, 1) Like "[a-zA-Z]")
If c = False Then
d = Left(a, x - 1)
Exit Sub
End If

Next x
Run Code Online (Sandbox Code Playgroud)

我偶然发现了一个合适的解决方案,还是注定要破解?我问的只是因为我看了Doug Glancy的解决方案而且看起来更加充实.(顺便说一句,我还没有测试过Doug的解决方案)

regex excel vba excel-vba

3
推荐指数
1
解决办法
1万
查看次数

搜索/查找if语句的文本

我想要做的很简单.不幸的是,我似乎无法让它在天然气中工作.我现在将自己难堪并发布我的最新(许多!)尝试:

      var ss = SpreadsheetApp.getActiveSpreadsheet(); // 
      var findVal = ss.getRange("A1").getValue()
      if (findVal.findText("8762", "#N/A"));
      { 
        // do something
      }
      else {
        // do something else
      }
Run Code Online (Sandbox Code Playgroud)

我只是想在特定的单元格中搜索大段文本中的数字8762,或字符串#N/A,它将是单元格中唯一的文本.(仅供参考:#N/A不是公式的结果.它是实际文本).

显然,我正在尝试使用"find"的结果作为条件语句的驱动程序.

我不是VBA世界中的蠢货,但是电子表格设置中的javascript有时会让我觉得非常愚蠢.比如现在.

顺便说一句,我确实做了大量的搜索.不幸的是,我发现的所有内容都是大型复杂运动的一部分,这些运动让我感到困惑.我只需要一个基本的真/假解决方案,仅此而已.

是的,我可以轻松地完成一半......

    var ss = SpreadsheetApp.getActiveSpreadsheet(); // 
    var findVal = ss.getRange("A1").getValue()

     if (findVal == "#N/A") { 

   // do something

  }

  else {

   // do something else

}
Run Code Online (Sandbox Code Playgroud)

(只是为了证明我不是在寻找讲义......只是伸出援助之手)

google-apps-script

1
推荐指数
1
解决办法
8080
查看次数