Tag: foreach

对于每个循环将不起作用在一张纸上search值并在另一张纸上更改值

我有一个表3列A的真值和列表,以及表2列A上的代码列表。如果表A3上的值是= True,那么我希望表格A5上的值应为红色。 如果表格A6上的值是= True,那么我希望表格A6上的值应该是红色的。 这应该沿着表2和表3中的列A向下移动,直到数据用完。 到目前为止,我已经得到它的工作列A的第一个单元格,但不能让For Each循环工作。 任何帮助将不胜感激。 Sub compare_cols() Dim myRng As Range Dim lastCell As Long 'Get the last row Dim lastRow As Integer lastRow = ActiveSheet.UsedRange.Rows.Count 'Debug.Print "Last Row is " & lastRow Dim c As Range Dim d As Range Set c = Worksheets("Sheet3").Range("A5:25") Set d = Worksheets("Sheet2").Range("A5:25") Application.ScreenUpdating = False […]

Excel VBA – 一次循环一列

我正在循环Sht1 (B2:B138)每一行,并为该循环中的每个项目设置一个“input”单元Sht2 (A1) ,一次一个。 然后,“输出”单元Sht2 (N7)将被复制回Sht1 (C2:C138) 。 举个例子: Sht2 (A1) = value in Sht1 (B2) ,则Sht1 (C2) = value in Sht2 (N7) 重复 Sht2 (A1) = value in Sht1 (B3) ,则Sht1 (C3) = value in Sht2 (N7) 一遍又一遍,直到它到达列表的底部。 最终,我可能不得不在Sht1 ColB扩展列表,所以我一直试图让它评估dynamic需要的迭代次数。 我在下面的代码给了我所有正确的“输出”,但他们并没有在Sht2 ColC正确的单元格。 请看下面。 我研究并发现这个Q / A是有用的,并用它来影响代码。 我感谢你的帮助提前。 我的工作簿 ,以防你需要看到它。 Sub fnDescCalc() 'Define the objects […]

PowerShell在networking存储中打开,保存并closures具有相同文件名的文件

我已经向前迈了几步 打开,保存并closuresnetworking目录下指定的excel文件。 $dir="\\10.100.0.10\folder\user.name\2015\file.xlsx" $excl=New-Object -ComObject "Excel.Application" $wrkb=$excl.Workbooks.Open($dir) $excl.DisplayAlerts = $FALSE $wrkb.Save() $wrkb.Close() $excl.Quit() 我如何插入循环,以便可以search具有相同文件名的文件 file.xlsx 在这个共享的位置,通过所有的用户,例如 \\ 10.100.0.10 \文件夹\ find文件,打开它保存和closures? 感谢名单。

如何在vba中使用左侧的公式? 如何确定活动细胞?

如何使用左边的公式来获得B列中的短路string(例如:BC150033)? 以上图片是我使用左公式的结果。 但是我想用vba来达到同样的效果。 我知道每个下一个循环使用,但有些事情是错误的.. AB 1 BC150033-001 BC150033 2 BR165522-002 BR165522 3 ect…. Set SourceRange = Range(Sheets(2).Range("A1"), Selection.End(xlDown)) For Each cell In SourceRange If IsEmpty(cell.Value) Then Exit For Sheets(2).Range("B" & cell.Row).Value = Left(cell.Value, 8) Next 请指教

“For Each”循环保持循环通过“If”条件

我使用VBA将Outlook中的电子邮件转换为Excel,并将电子邮件的主题行与另一个工作表上的一系列单元格进行比较。 我正在使用一个For Each循环来实现这一点,但似乎当我的条件符合,它继续下去,所以它不会发布我想要的结果。 它似乎循环了我已经定义的范围内的所有单元格,但是,即使它满足我的条件,它仍然继续,最终成为空白。 在这里我正在定义我的范围: Dim rRng As Range, cel As Range Set rRng = Sheet2.Range("A2:A1218") 这是我的For Each循环: oRow = 1 For iRow = 1 To Folder.Items.Count 'This loops through the inbox items. If VBA.DateValue(VBA.Now) – 1 <= VBA.DateValue(Folder.Items.Item(iRow).ReceivedTime) And VBA.DateValue(VBA.Now) > VBA.DateValue(Folder.Items.Item(iRow).ReceivedTime) Then 'This is checking that the emails were received within a certain […]

用stata循环填充输出向量

当你在Stata中取一个variables的百分数时,例如。 *set directory cd"C:\Etc\Etc Etc\" *open data file use "dataset.dta",clear *get centiles centile var1, centile(1,5(5)95,99) 有什么方法来logging产生的百分表performance出色? 百分位值存储在r(c_#)中,其中#表示您希望数据的百分位数。 但是我需要一个在所有百分位数上的值的向量,或多或less出现在输出窗口中。 我试图使用foreach循环来获得百分比到一个向量,如下所示: *Create column of centiles foreach i in r(centiles) { xx[1,`i']=r(c_`i') } 没有成功。 谢谢 编辑: 我已经发现这个工作: matrix X = 0,0 forvalues i=1/21 { matrix X = `i',round(r(c_`i'),.001)\ X } 唯一的不便之处是1)输出中必须包含0,0的第一行,然后我将随后删除。 2)在这种情况下,我有21个百分点,但是如果我想改变这个百分数,自动化百分数会很好,例如: forvalues i=1/r(n_cent) { matrix X = […]

For Each In:是否可以运行单列范围并粘贴多个列,从第一个FOR单元格开始?

我一直在尝试优化我的代码的某个部分时遇到了麻烦。 我正在执行蒙特卡罗模拟,我想复制范围的值重复的次数。 为此,我使用了For Each In结构。 下面是一个简单的例子。 sub example() Dim live As Excel.Range 'the range to be copied in each For Each In Dim acell as Excel.Range 'For range Set live = Range("C5:P5") For Each acell in Range("B9:B90") acell.value=live.value Next acell End Sub 问题是live跨越多个栏目,而acell只是一个单元格; 最后发生的只是第一列被复制,其余都是空白的。 我也在For Each acell in XYZ.rows使用了For Each acell in XYZ.rows其中XYZ是先前定义的多个行和列的范围。 但是,这是相当慢的。 从第一个单元格开始,是否可以遍历单列范围并粘贴多个列?

Excel中的Interop CustomDocumentProperties导致挂起

我已阅读该页面如何正确清理Excel互操作对象? 但我遇到了一个我无法弄清楚的问题。 有一种情况是Excel实例被embedded,我的插件存在导致挂起。 我已经发布了所有的COM对象,并尝试使用VSTO中build议的双GC采集和GC等待线。 下面的代码工作,并没有挂起。 public static string GetCustomProperty(dynamic document, string propertyName) { string returnVal = string.Empty; dynamic customProperties = document.CustomDocumentProperties; if (customProperties != null) { // Nothing } Marshall.FinalReleaseComObject(customProperties); return returnVal; } 问题是,一旦代码更改为这个挂起。 public static string GetCustomProperty(dynamic document, string propertyName) { string returnVal = string.Empty; dynamic customProperties = document.CustomDocumentProperties; if (customProperties != null) { […]

Excel vbamacros在2007年得到types不匹配错误,但在2010年工作

我在Windows 7的Excel 2010中testing了这个macros,并且testing了另外一个Windows 7计算机,但是使用了Excel 2007.在两者上工作,但是当我尝试在工作计算机(Windows 7,Excel 2007)上使用它时,在第一个“下一个”语句中input“不匹配错误”。 抬头,发现我可以使用“退出”而不是“下一个”,但它只是抱怨下一行包含“结束如果”。 现在它宣称“结束如果没有块如果”。 我想我只是不明白这是如何在一台Win7 \ Excel 2007计算机上工作,而不是其他。 macros只是search电子邮件主题中所选单元格的值(如果单元格尚未着色),如果匹配,则会更改单元格的颜色。 Sub MultipleCellSubjectSearch() 'This macro searches for the selected cell values (if there is no cell color), when it finds a match it turns the cell color yellow Dim olApp As Outlook.Application Dim olNamespace As Outlook.Namespace Dim olItem As MailItem Dim olInbox […]

Excel使用vbTextCompare在单元格中循环来分配类别

我有一个电子表格,每行包含一个汇总列(K列)。 我需要匹配概要列中的某些单词,以便在新列(第V列)中分配类别名称。 我试着用一个正常的excel来做这个事情。如果声明但是我已经find了一个限制。 所以现在我试图使用下面的VBA代码。 Public Function getCategory() V_End_Of_Table = ActiveSheet.UsedRange.Rows.Count 'count the number of rows used' Dim cell As Range For Each cell In Range("K2:K" & V_End_Of_Table) 'loop through each row until end of table' If InStr(1, cell.Value, "Nationalities", vbTextCompare) > 0 Then Range("V" & V_End_Of_Table).Value = "Nationalities" Else Range("V" & V_End_Of_Table).Value = "No Match […]