Tag: do while

为什么在我select另一张纸后,在第三排停下来

我正在通过删除和添加更多数据来testing我的编码,而当我意识到编码出现问题时。 最初,我在“LEAVE”部分下开始了3人的编码。 所以我试图删除这个部分的人,编码仍然有效。 当时我在那个部分增加了一个人,然后我意识到我的编码不起作用。 当我将数据从3人改为4人时,仍停在第三人。 它没有继续循环检测第四人。 我testing并意识到,当我开始的时候 Sheets("Cash").Select 从此它不起作用。 没有这个,循环仍然有效,它可以检测到第四人。 Do While Cells(ShiftRowName, 1) <> "" Set ShiftName = Sheets("Shift Roster").Cells(ShiftRowName, ShiftColName) If ShiftName = "" Or IsEmpty(ShiftName) Then Exit Do Else 'When the following coding was added, 'It stopped detecting at the 3rd person. Sheets("Cash").Select Range("C1").Select Cells.Find("Name").Activate r2 = ActiveCell.Row CashRowName = r2 + […]

VBA Excel比较工作表与嵌套对于

我想比较NBG_Data表的每一行与Comparison_Data表的每一行,所以我希望NBG_Data的每一行都与Comparison_Data表的所有行进行比较,然后转到下一行,直到它到达MAX_Row,问题是我无法嵌套For循环(我真的很想)所以我正在尝试做循环,但是当我开始的错误是“循环没有做”如果有人请告诉我我做了什么错误的Do循环或更好修改为所以我可以有一个嵌套的工作循环。 For Row = 2 To MAX_Row CompMonth = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, SOP).Value CompMonth = DatePart("m", CompMonth) CompYear = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, SOP).Value CompYear = DatePart("yyyy", CompYear) CompCarmaker = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, Carmaker).Value CompProject = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, Project).Value CompFamily = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, Family).Value CompStatus = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, Status).Value CompShare = Worksheets(NBG_ComparisonDataWorksheetName).Cells(Row, Share).Value Do While Row <= 2 NBGMonth = Worksheets(NBG_DataWorksheetName).Cells(Row, SOP).Value NBGMonth = DatePart("m", […]

在VBA中使用“Do while”循环遍历列和设置范围

我有一个时间序列的数据范围,列A的date和列B的价格。 这个数据在前200行中有“N / A”(一个string,而不是错误)(这个数字不是精确的,每次运行文件都会改变,所以我不能直接引用它)。 为了能够从没有“N / A”的范围进行graphics绘制,我使用“Do While”循环遍历行,直到它不等于“N / A”,然后设置范围。 问题:出于某种原因,我的“我”计数器没有求和。 循环开始,然后以i = 1结束,应该是i =最后一个“N / A”的行号。 代码的相关部分是: i = 1 If SourceWorksheet = "Ret" Or SourceWorksheet = "Vol" Then Do While w.Sheets(SourceWorksheet).Cells(i, 2) = "N/A" i = i + 1 '****Problem IS HERE, IT IS NOT SUMMING TO i Loop Set RetRange = w.Sheets(SourceWorksheet).Range(Cells(i […]

VBAtypes不匹配DO WHILE NOT

我的macros有问题: Dim nr_kol As Integer nr_kol = ActiveCell.Column Worksheets("dane").Range("I1").Copy Worksheets("dystr hist").Range("a1").Select ActiveCell.End(xlToRight).Offset(0, 1).PasteSpecial xlPasteValues Do While Not ActiveCell.Offset(0, -nr_kol + 1) = "" Selection.Offset(1, 0).Select ActiveCell.Value = Application.VLookup(ActiveCell.Offset(0, -nr_kol + 1).Text, Worksheets("temp2").Range("B:I"), 8, False) Loop 它应该像这样工作:它需要从“丹麦”表中的星期编号,并将其粘贴到第一行的第一个空闲单元格中的“dystr hist”表。 然后我们有查找项目,直到列表完成。 它适用于以前的工作表,但在这个特定的地方崩溃types不匹配。 谁能解释我为什么?

C#与Char和数字循环

我在我的C#Winforms应用程序中有以下代码行: excell_app.createHeaders(1, 1, "Product_1", "A1", "A1", "n"); 它说"Product_1"我需要它循环我的数组中的所有项目,它说"A1", "A1"我需要它获得下一个值,即"B2","B2" 我不确定我应该使用哪个循环,因为我需要一个for next来通过我的数组,但是然后我需要增加"B2","B2"的位置的值, 这是我的尝试: foreach (string value in ProductName) { excell_app.createHeaders(1, 1, "+ value +", "A1", "A1", "n"); } 我不知道如何通过字母和数字迭代我的位置值: 像这样的东西:(我认为这可能是错误的,请指教) char X='A'+1; X++

在VBA中使用多个while循环

我想问你如何使用多个做,或者如果有另一种方式如何自动化这种types的计算。 我有收盘价的股票名为封闭的工作表。 在另一张名为“退货”的表上,我想计算退货。 我不知道有多less行和列将被closures。 所以我写了第一栏的macros。 Sub CalcReturns() ' CalcReturns Dim row As Integer Worksheets("Returns").Activate row = 3 Do While Cells(row, 1) <> "" Cells(row, 2).Value = Worksheets("Close").Cells(row, 2).Value / _ Worksheets("Close").Cells(row – 1, 2).Value – 1 row = row + 1 Loop End Sub 我的问题是如何添加第二个循环做上面的计算,只要数据在第一行的列中。 我试图学习使用循环,但我能够做到一个,而不是多个预先感谢!

Excelmacros生成下标超出范围错误

所有三张在第1行将具有相同的列标题。在工作簿中的第一张和第二张(分别名为“每月”和“年”),我使用条件格式将Y和AC列中的单元格颜色由公式确定的值(如果计算返回的值小于90,则为黄色;如果返回的值为0或负值,则为红色)。 我想要一个macros做的是复制整个行从列A到列AD到第三张(标题为“维护”)。 如果这个过程是自动化的,那么这个过程也是很好的,这样,当“Y”和“AC”列中的值在“每月”或“年度”表中变化时,“维护到期”表中的信息会自动更新(但是如果必须手动重新运行macros,发生这不是一个大问题)。 我从来没有使用macros录像机,我只能弄清楚如何创build一个macros来复制和粘贴,所以我没有在那里运气。 在做了一些更多的search和观看一些video之后,我把它们拼凑在一起: Sub Show_on_Maint() x = 2 'Sets the starting row Do While Cells(x, 2) <> "" 'Continue to evaluate until a blank cell is reached If Cells(x, 25) <= 90 Then 'Evaluates the cell in column Y to determine if the value ' is less than or equal to 90 Sheets("Monthly").Rows(x).Copy […]

尽pipe循环不循环也不做

为了进一步永远不再做任何手册,我做了一个it.xlsm,你必须放在一个文件夹与一个特定的文件,必须处理。 这个it.xslm有三个模块: Masterfile – 重命名C中的类别 – 在C中为每个类别创build一个工作表 将这些工作表保存为.xslx。 这会导致/ Departement文件夹中有8个新文件 Littlefiles – 在E中重新命名 为每个类别制定标签 – 清理空列。 占位符 使用数据应用主文件打开.xls 打开由masterfiles创build的所有文件 使选项卡和清理空列。 占位符代码: Sub OpenBigFile() Dim wb As Workbook Dim ws As Worksheet Dim Lastrow As Long 'open main file, apply masterfile moduke Set wb = Workbooks.Open(ThisWorkbook.path & "\Depositformulier (Reacties).xlsx") Call masterfile.total wb.Close SaveChanges:=True End Sub 这工作正常。 […]

VBA每次将数据放入不同的单元格时,请执行此操作

我最近被给了一个Do While Loop来吐出一些数字,你可以在另外一个问题中看到我问,现在我的问题是我想把数据放在我从中获取数据的单元格旁边,所以我知道我从中获取数据的行的行号,但是因为有3个不同的可能的答案可能出来。 我需要在每个单元格中放入一个值,例如:A3,A4,A5 昏暗的SNs作为string SNs = "Q" & xout Const SNLength As Integer = 5 Dim SerialNumber As String Dim index As Integer If Left(SNs, 1) = "Q" Then SNs = Mid(SNs, 2) index = 1 Do While index < Len(SNs) SerialNumber = Mid(SNs, index, SNLength) 'Code from user Worksheets("Calendar").Range("H" & Rng.Row).Activate ActiveCell.Offset(0, 0).Value […]

在Do,While循环中嵌套IF语句

我一直有一个代码段,在那里我想比较一个用户inputstring与列中的一组string,然后运行一个循环,检查是否相同,如果不是,它会提示用户换另一个string。 如果它们匹配,则继续执行脚本的下一部分。 我称之为variablesChecktag和ServiceTag :(都是变体)。 ServiceTag = InputBox("Please enter the laptop service tag ID") Set TagCheck = ActiveWorkbook.Sheets("Sheet5").Range("B2:B1000").Find(ServiceTag, lookat:=xlWhole) Do If TagCheck Is Nothing Then ServiceTag = InputBox(" User entered Service ID is not present in database, please re-enter the laptop service tag ID") Set TagCheck = ActiveWorkbook.Sheets("Sheet5").Range("B2:B1000").Find(ServiceTag, lookat:=xlWhole) Else MsgBox (" Service Tag ID recognised […]