Tag: 数组

VBA / Excelmacros – 尝试使用从一个工作表绘制并填充到多个工作表的数组来简化代码

我最初做的工作,但它很笨重,我很确定可以精简。 这是代码的一小部分(我重复了这个过程大约200次以上,我不得不把它分成两个macros): Set rng = ws.Range("C11:AJ11") l = 13 For Each cell In rng Sheets(l).Range("D23") = cell.Value Sheets(l).Range("I23") = cell.Value l = l + 1 Next cell Set rng = ws.Range("C12:AJ12") l = 13 For Each cell In rng Sheets(l).Range("D24") = cell.Value Sheets(l).Range("I24") = cell.Value l = l + 1 Next cell 所以这个工作,但现在我想弄清楚如何使用一个数组,可能精简(如果这是可能的?或者一个数组不是最好的方法吗?我很乐意提供更好的方法build议。): Dim row […]

vba打印出三维数据

如何在不知道其强度的情况下显示一个三维数组? 如果variables名是DataSet。 但我不确定高度和长度。 在macros观上, msgbox(DataSet) 'type mismatch msgbox(DataSet(0,0,0))'subscript out of range 或举一个一般的例子。 感谢您的帮助,谢谢。

Excel中不同时期的降雨总和,中位数和平均值

我需要从01/01/1889(dd / mm / yyyy)到18/05/2016取得每月的总和,平均值和中位数。 即从1889 – 2016年的每月1月份降雨量总和为xxxx,中位数为xxxx,平均值为xxxx。 重复其余的几个月。 由于它有1800年的许多function不起作用,并且由于其如此大的数据集1-46526单元filter也不起作用。 请find我的数据如何设置的例子。 我在yyyymmdd的A列中设置了date,F列中的date转换为dd / mm / yyyy格式,降雨量在列G中。

Excel:如何用这种公式使用INDIRECT:{= MATCH(2,1 /(A1:A10 =“something”))}

我正在寻找一个特定问题的答案。 我在这里find了一个很好的答案,解决scheme是公式:{= MATCH(2,1 /(A1:A10 =“something”))} 我的问题是:我怎样才能使用这个公式与间接函数? 我需要使用INDIRECT(“A”&ROW() – 8&“:A”&ROW())来replace范围A1:A10。我还确保对=“something”部分使用双引号。 我尝试了几个小时没有成功。 您的帮助将不胜感激。 问候。

string数组到新的工作表

下面的代码执行和拆分原始单元格到一个新的数组,但我不能让新的string数组移动到一个新的工作表。 引发错误的行是varHorizArray(1,intCol).Select。 如何改变这个代码直接将数组移动到一个新的工作表? 我想search新的数组中的单词。 Sub SplitWithFormat() Dim R As Range, C As Range Dim i As Long, V As Variant Dim varHorizArray As Variant Dim rge As Range Dim intCol As Integer Set R = Range("d1", Cells(Rows.Count, "d").End(xlUp)) For Each C In R With C .TextToColumns Destination:=.Offset(0, 1), DataType:=xlDelimited, _ consecutivedelimiter:=True, Tab:=False, semicolon:=True, comma:=False, _ […]

每个值依赖于另一个单元格的值的总和

我目前在Excel中工作。 我列B中的值取决于列A中的值,以及另一个单元格 – J8 413505 =B4/$J$8 413505 =B5/$J$8 420171 =B6/$J$8 544643 =B7/$J$8 604280 =B8/$J$8 621849 =B9/$J$8 例如,如果J8 = 2.5我得到 413,505 165,269.79 413,505 165,269.79 420,172 167,934.33 544,644 217,683.33 604,281 241,519.03 621,849 248,540.88 和SUM(B:B)=1206217.15 。 我们称这个值为X. 我想根据J8的不同值的负载来计算X的值。 事实上,我有一个10×10matrix的不同的J8值,我想参考,然后计算每个不同值的X在相同的大小matrix中的值。 例如,J8的可能值可能是: 1.753 1.594 1.461 1.349 1.253 1.169 1.096 1.032 0.975 0.924 1.650 1.500 1.375 1.270 1.179 1.101 1.032 0.972 […]

Excel VBA – 使用Workfsheet单元格范围运行SQL查询

我正在创build一个简单的电子表格,它从工作表“input”中获取一个ID数组,查询Oracle数据库,只查询与数组中ID匹配的logging,并将结果输出到工作表“output”。 到目前为止,如果我的数组只包含一个ID(通过指定单个单元格范围),那么我的VBA将工作,并且所有事情都会以出现在工作表“output”中的Oracle数据库的所需输出完成。 美好时光。 我现在遇到的问题是,我想在工作表“input”中指定一个范围的ID(任何不超过5000),以包含在我的数组中,并将该数组传递给Oracle数据库,以便为它find的每个ID返回数据我不期望所有的ID存在)。 每当我尝试这个,我似乎得到“错误13types不匹配”的错误…不好的时候。 我的VBA代码是: Dim OracleConnection As ADODB.Connection Dim MosaicRecordSet As ADODB.RecordSet Dim SQLQuery As String Dim DBConnect As String Dim count As String Dim strbody As String Dim Exclude As String Dim i As Integer Dim Rec As RecordSet Dim InputIDs As Variant Set OracleConnection = New ADODB.Connection DBConnect = "Provider=msdaora;Data Source=MOSREP;User […]

C#返回值中的工作表Function.CountIfs(…)是一个2 dim对象数组

我的问题是,我想在Excel中使用C#中的WorksheetFunction方法CountIf 。 而且我总是从那个函数中得到一个2个暗淡的对象数组 double[,] zn1 = wsf.CountIfs(cSheet.Range[cSheet.Cells[13, 1], cSheet.Cells[20, 1]], sName + sName); (它只适用于double[,] zn1或var zn1 ,否则我会收到一个对象数组obj[,]不能转换为double或double[] , string[]等的错误。 其中wsf被定义为 Excel.Application xl = new Excel.Application(); Excel.WorksheetFunction wsf = xl.WorksheetFunction; 所以当我运行它时,我得到一个2个暗淡的对象数组,它和Range有相同的长度,我正在寻找,所有的条目都包含相同的数字“-2146826273”。 如果我将数组转换为1 dim double数组,返回值为System.Double[] 。 object[] to = zn1.Cast<object>().ToArray(); object[] res = to as object[]; double[] sRes; sRes = res.OfType<double>().ToArray(); 所有其他WorksheetFunction方法运行良好,没有错误。 所以我的问题是,我如何得到WorksheetFunction方法CountIfs(…) ? 是的,我必须使用WorksheetFunction方法,我不能像string公式一样input。

Excel:如何检查单元格内的重复数字

我有一个Excel电子表格,数字从000到999,并试图find一个单元格内重复的数字。 (例如,如果数字是0,25,555或115则打印1,如果不是则为0) 到目前为止,我还没有find解决办法。 请提前要求提供更多信息和感谢。

Excel:如何使用数组连接criteread节旁边的string(If函数)

今天是个好日子 我有一个Excel工作表在两列的波纹pipe。 我知道如何使用一个数组,如果函数与总和,以满足在{=sum(if(A1:A5="YES",B1:B5)} ,如何去符合criterea列旁边的所有值关于如何使用string进行连接,以便它们显示如下的结果 谢谢你的帮助 Excel数组 编辑:我知道有一个简单的VBA解决scheme,但想知道是否有一个优秀的方式,因为有一个简单的解决scheme,如果它是值,而不是string。