所以我正在做一个宏做一堆事情.有一件事是从sheet2中找到sheet1中的单元格重复.给定表1中的columnA,sheet2上columnB中的任何值都与columna sheet1中的任何值匹配.
我知道删除重复项,但我只想标记它们,而不是删除.
我正在考虑过滤.我知道当您过滤时可以选择多个条件,因此如果您有一个包含20个不同值的列,则可以在过滤器中选择5个值,它将显示具有特定列的5个值的行.所以我记录了一个宏,并检查了代码,我看到它使用了一个字符串数组,其中每个要搜索的值都在一个字符串数组中.有没有办法只指定一个完整的列并将每个值添加到字符串数组?
提前致谢
我有一个在谷歌文档上制作的表单,我有一个我刚刚创建的脚本(不完整),它将分析表单上的响应,并根据来自不同谷歌文档的信息验证它们.通过反复试验,我已经找到了所述表格中所有元素的id.我用了:
var body = ""
var bodyTitle = ""
for (var i = 1; i < its.length; i ++)
{
body = body + " " +its[i].getId()
bodyTitle = bodyTitle + " " + its[i].getTitle()
}
Run Code Online (Sandbox Code Playgroud)
然后通过记录出来并且基本上只计算,第5个id匹配第5个标题,我拥有所有id.我只是想知道下一次,是否有一种方法可以查看表单并找到它的ID而不执行此操作?
使用HTML表单(我使用chrome fyi),你可以右键单击,检查元素,你可以看到页面元素的id,并在javascript中通过id引用它们.有没有办法在Google表单中执行此操作?这样我就不必为了记录掉所有的id和标题并将它们匹配起来.
请注意:这些都是用户在Google表单中创建的所有表单,他们坚持要制作它们.它们都不是代码,所以我无法自己编写id.
也许它的星期一,也许我很愚蠢..但我不能为我的生活找到一个很好的方法从2D阵列中的一行获得一维数组.(也许它不是一个"真正的"2D阵列?)
无论如何,我有一个我这样定义的数组: dim myArr(2,4) as variant
我用1到15的值填充它,看起来像:
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
Run Code Online (Sandbox Code Playgroud)
所以现在我想要的是该阵列的一行.我能弄明白的唯一方法就是做到这一点:
dim temp() as variant
ReDim temp(lbound(myArr,2) to ubound(myArr,2))
For i = 0 To 0
For j = LBound(myArr, 2) To UBound(myArr, 2)
temp(j) = myArr(i, j)
Next
Next
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这样,因为如果阵列变得庞大,那么花费这么多时间可能要长得多.我想我应该能做到:
dim temp as variant
temp = myArr(0) 'since myArr(0) is a 1D array with 5 spots right?
Run Code Online (Sandbox Code Playgroud)
但没有..我得到'错误的维数'错误.
我还回顾了之前的事情并发现了这个问题:如何比较表格中的两个整行和蒂姆托马斯的答案显示了转置的使用,并提到你是否比较了你只使用转置一次的列,但它不起作用..如果我这样做:dim myArr(2,0) as variant转置工作,但不是我现在的方式.
我在其他语言(例如C++和Python)中找到了无数个问题的答案,但我对这两个问题都不熟悉,所以我无法解释它们.
有没有更好的方法呢?还是我坚持这个我不喜欢的双循环?
谢谢!
所以也许这是多余的,也许就像问为什么大多数人天生就有5个手指,最后简短的回答总是:因为它就是这样,它只是起作用,但我讨厌这个答案并且该死我想知道如何VBA中的Rnd()函数有效.
Office Office Excel的MSDN表示RND定义为:
Rnd[(number)] 'The optional number argument is a Single or any valid numeric expression.
它继续说
"number的值确定Rnd如何生成随机数:对于任何给定的初始种子,生成相同的数字序列,因为对Rnd函数的每次连续调用都使用前一个数字作为序列中下一个数字的种子."
接下来是这样的:
要在给定范围内生成随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
例如:
Dim MyValue
MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.
但是这有什么作用呢?这些数字来自哪里?为什么会6 * Rnd + 1得到1到6之间的随机数,但6 * Rnd + 5会得到5到10之间的数字?
此外,如果VBA的创建者使用什么公式来成功地将其缩小到特定范围,那么为什么不让RND函数带有可选的Ubound和Lbound参数呢?我不可能是唯一一个关注那个公式的人,那个世界是什么?
在一天结束时,它对我的任何伪随机数需求当然都很好,也许我正在寻找一个礼物马,但仍然!
编辑
在我看来,这个问题可能基于数学本身.如果你取一个小整数,你应用什么函数来使整数适合指定范围..所以任何人都可以解释这个公式是如何工作的?
所以,我今天刚才注意到你可以在Chrome控制台中运行javascript.我不知道你能做到这一点.这真的很酷.
在我的rails应用程序中,我有一个外部JavaScript页面.我希望该页面上的一些变量是全局的,以便JS文件中的所有函数都可以访问它们.例如,我有一个地图,我希望地图对象在javascript文件中是全局的,因为这样我所有的函数都可以访问一个地图变量而不是创建自己的地图变量,我可以将复杂的操作分解为更小的函数.
这一切都很好,我知道如何做到这一点,它的工作完美.我现在的问题是,我可以保护外部的变量吗?例如,您可以从chrome控制台更改所有javascript类变量的值.以及例如地图中的方法是可访问且可以进行的.我已将地图设置锁定在其中一个页面上,因此它不可缩放或可移动,但从控制台我可以简单地说map.setZoom(11),地图将缩放到11 ..我可以键入map.dragable = true和bam你可以拖动地图..我真的不喜欢这个..
它不是太糟糕,但用户启用地图拖动和缩放不是世界上最糟糕的事情..但我仍然想禁用它.有任何想法吗?
编辑
谢谢大家的回答和评论.我想我只会诉诸于不把任何可以被恶意转化为我的javascript的东西,并做一些事情,比如将我的地图变量传递给必要的功能以减慢人们的速度.
我想这只是我不了解JavaScript的工作原理.假设我有一个数组,调用它arr1,其中有6个整数, [1,2,3,4,5,6].如果我创建一个新数组:
var arr2 = arr1
Run Code Online (Sandbox Code Playgroud)
(为了保持不变的副本arr1),当我改变时arr1,所反映的变化arr2.
基本上,我在操纵arr1.出于测试目的,我想要一个未更改的副本,arr1这样当我完成后,我可以在我的网页上安装它们并查看它们之间的差异.但是,当我进行更改时arr1,这种变化反映在arr2.
任何人都可以解释为什么会发生这种情况并可能解决它 我更感兴趣的是为什么会发生这种情况而不是如何修复它.
一种方法是创建arr2一个单独的数组,并使用for循环用arr1数据填充它
for(int i = 0; i < arr1.length; i++) arr2[i] = arr1[i]
Run Code Online (Sandbox Code Playgroud)
但是,如果阵列很大,那可能会很昂贵.任何帮助表示赞赏.
我需要一些RVM的帮助,并在debian服务器上安装最新版本的rails.请注意我不是一个Linux程序员所以你必须为我拼出一切.
基本上我正在尝试升级到最新版本的ruby.我正试图在我通过VPN连接的debian服务器上安装它.到目前为止我正在尝试使用RVM,但是当我RVM install 1.9.3从我的debian bash提示符运行时,它说该版本没有可用的二进制文件,然后继续尝试从在线获取源代码失败(可能是由于防火墙) .基本上当它从在线抓取源文件夹时,它会抓取一大堆垃圾.我尝试自己下载源代码包,如果我点击红宝石网站上的链接就会阻止它.如果我使用wget它似乎下载它,但md5不匹配,我不能解决它的事情.它说gzip:stdin:文件不是gzip格式.
所以!我需要帮忙.我的想法是获得1.9.3的二进制红宝石..但我不确定是怎么真的..我在我的窗口下载了tar.gz文件并使用winSCP移动它,然后我可以使用解压缩的东西罚款..然后我有一个解压缩的文件夹,是网站的来源..但我不确定从那里去哪里.. apt-get install似乎无法识别tar.gz或untarred文件夹..我试过rvm mount并指定ruby.exe文件的路径(ruby-1.9.3-p327/bin/ruby),但后来它说无法识别的命令行参数,我应该看到用法..
有什么建议吗?(最好没有第三方程序或其他RVM的东西)
谢谢
excel ×3
excel-vba ×3
vba ×3
javascript ×2
arrays ×1
console ×1
debian ×1
duplicates ×1
excel-2010 ×1
google-forms ×1
random ×1
ruby ×1