Tag: for loop

如何在Stata中循环多个Excel文件?

这里是我有的代码: local dateList "01" "02" "03" "04" "05" "06" "07" foreach date of local dateList { use `"`date'"' clear import excel "V:\Report07" + `"`date'"' + "13.xls", sheet("MySheet") firstrow sort PersonID Place bysort PersonID (Place): gen mix = Place[1] != Place[_n] sort PersonID by PersonID: egen anymix=max(mix) count if anymix==1 drop mix drop anymix } 我试图循环通过date不同的多个Excel文件,正如你可以在代码中看到的那样放置variablesdate […]

VBA素数For循环得到“下一个没有”

我是新手编程和VBA,并想知道为什么这不起作用。 我得到“下一个没有错误”。 我寻找答案,但我没有真正find适合这个具体情况的任何东西。 我的意思是,“下一个”是在“for”下面的行。 怎么会这样说呢,那下一个没有for的呢? Private Sub Primerus_Click() Number As Long, i As Long Number = InputBox("Please enter a Number", "Math for Idiots", "Please enter your number here.") For i = 2 To Number – 1 If Number Mod i <> 0 Then Next i Else: MsgBox ("This is not a prime number") End Sub […]

对公式单元执行操作时出错

我试图遍历文件夹中每个工作簿中的每个工作表,并确保只有包含公式的单元格被locking。 我已经使用代码来locking每个工作表中的所有单元格,并且代码将工作表中的每个公式locking几个月,所以我基本上将两段代码混合在一起得到: Sub LockAllFormulas() Dim myOldPassword As String Dim myNewPassword As String Dim ws As Worksheet Dim FileName As String Dim rng As Range myOldPassword = InputBox(Prompt:="Please enter the previously used password.", Title:="Old password input") myNewPassword = InputBox(Prompt:="Please enter the new password, if any.", Title:="New password input") FileName = Dir(CurDir() & "\" & "*.xls") Do […]

在excel vba中继续循环下一个循环

我在Excel VBA中有几个If语句的循环。 这通过并且隐藏某些行根据某一条件。 基本上,如果其中一个陈述是真的,那么该行是隐藏的。 由于只有一个陈述对于行被隐藏,所以只要其中一个陈述被发现是真实的,其余的陈述就被testing是没有意义的。 如果if语句被发现是真的,我将如何放置一行代码来说明循环的下一个迭代? 任何帮助将不胜感激! For i = 1 To rng2.Rows.Count If Left(rng3.Cells(i, 1).Value, 8) = "CMS Part" Then If rng3.Cells(i, 1).Value <> "CMS Part D (CY " & Year(Date) & ")" Then rng3.Cells(i, 1).EntireRow.Hidden = True End If End If If rng4.Cells(i, 1).Value = "Yes" Then rng4.Cells(i, 1).EntireRow.Hidden = True End If […]

Excel VBA单元格值显示为整数

我正在使用Excel的VBAfunction编写程序,但遇到了一个非常奇怪的逻辑错误。 For SheetIndex = 1 To 6 With ActiveSheet For ColIndex = 2 To 6 For DateIndex = 0 To MinLimit datethingy = .Cells(1, ColIndex).Value If (.Cells(1, ColIndex).Value = Date_Array(DateIndex, 1)) Then For RowIndex = 2 To 11 ' Compare every time slot value here to every time slot value in the array datethingy = […]

Python for循环使用openpyxl

我正在使用openpyxl软件包来制作一个简单的工具,它将用来处理大型电子表格的excelinput,并使更小的更可用的input。 我曾尝试使用这种逻辑的许多不同types的循环,但我仍然无法得到它的工作。 目标是find任何值为1的单元格,并将该单元格旁边的单元格复制到新的工作簿中。 这是我的代码: # for loop data logic data = default['Default'] n = 1 for i in range(0,1000): for j in range(0,0): ds = data.cell(row = i, column = j) if ds == 1: n = n + 1 ds.cell(row = i, column = 0).value = separated.cell(row = n, column = 0).value 注:我input的数据有许多单元格在第一列中的数值为1。 这是这个循环正在testing的一列。 […]

Excel VBA删除列表中的指定值

我有100行数据的列表,在这100行中有6个唯一值。 我试图运行一个for / next语句,从该列表中随机抽取一个值,然后删除与我拉的值匹配的100列表中的每行数据。 然后,我想在新的数据集上重复这个过程(例如,如果有100个项目的列表,并且其中14个表示“Apple”和Apple是返回值,我希望它删除所有的单元格说“苹果”,并在其余的86个单元上运行该过程)。 最终产品是一个随机排列的所有6个独特值的列表,没有重复 现在,我可以运行该过程的次数和一切正常,除了它将只在第一次通过删除单元格。 所以,如果我第一次拉“苹果”通过它将删除所有“苹果”的实例,但如果我第二次通过它拉橙色将不会删除所有“橙”的实例,因此,我可能再次拉“橙”,这会给我重复。 真的,我只是想弄清楚为什么删除最后一个唯一值的部分代码只能从第一行开始(下面的部分('删除队列表中与选秀select相匹配的行)我想要实现的是将一个奇幻曲棍球选秀彩票的赔率(如此糟糕的球队有29%的几率首先挑选出来,他们在列表中列出了29个百分点)。必须重写将是伟大的一切我想要它的工作,除了一旦第一个唯一的价值从列表中拉出,我只剩下五个其他值,应该删除列表中的下一个select的代码部分第二次停止工作,提前谢谢。 这里是代码部分: Dim TeamCount As Long, TeamPick As Range Dim DraftPick As Range, TeamList As Range, NonPlayoffTeams As Range Dim i As Integer, counter As Integer, counter1 As Integer Set TeamPick = Range("f4") Set NonPlayoffTeams = Range("b20:b25") i = 1 For counter = 1 To NonPlayoffTeams.Rows.Count 'count […]

vba-excel:如何使用for循环和if语句来排除复制一系列单元格

我有这个代码: lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row (Sheet1.Cells(a,1)= Date or Date – 1)和(Sheet1.Cells(a,2)=“AA”或Sheet1.Cells(a,2)=“BB”或Sheet1.Cells(a,2)=“CC”)和Sheet1.Cells(a,3)= array(0)然后调用ActivateSheet Sheet1.Range(单元格(a,4),单元格(a,10))。复制Sheet2.Cells(Rows.Count,1).End(xlUp).Offset(1,0).PasteSpecial End If Next a 我有两列数据在其中。 在A列中,我们有DATE的值,我将调用currentDate和DATE-1的值,我将调用yesterdayDate 。 在B列中,我可以有三个不同的值,分别是AA , BB和CC 。 我上面的if语句(我很抱歉代码看起来不怎么样,我仍然试图学习VBA; P)基本上检查列A中的值是currentDate还是yesterdayDate,并检查列B中的值是AA , BB ,或CC 。 那么,如果列A和列B的值是给定值的任意组合,则它将复制该单元格的范围并将其粘贴到Sheet2上 。 所以这就是我想要发生的事情。 从给定值的所有可能的组合中,有一个组合我不想复制,并且这个组合是yesterdayDate && CC 。 我只想要我的代码复制yesterdayDate && AA , yesterdayDate && BB , currentDate && CC 。 所有其他组合,如currentDate && AA或currentDate && BB将不可能发生根据用户input。 我只想排除yesterdayDate […]

步骤-1完全跳过循环

当我尝试使用Step -1时,我的For循环继续跳过 Dim locRow as Integer, lastRow as Integer, i as Integer locRow = 1 lastRow = 10 for i = (locRow + 1) to lastRow Step -1 If IsEmpty(.Cells(i,1)) Then Rows(i).EntireRow.delete End if Next i 当我到达For线时,它会完全跳过循环部分。 如果我删除Step -1 ,那么它的工作原理,但我不得不添加i = i – 1到我的If()语句。 没关系,我想,但我很好奇,为什么退步不起作用。 感谢您的任何想法!

需要遍历列范围的代码,检查是否存在多个值,然后复制单元格

我需要一些帮助写一些Excel的VBA。 我在一个不同的问题下发布了这个,但是发现一个相关的问题,如果稍加修改就可以提供帮助。 我有两个工作表的单个工作簿。 一个工作表称为主,另一个称为Sheet2。 这是主工作表的样子: ABC 1 Company Name Company Interests Contact 2 Apple Inc Waterskiing 3 Grape Pty Bush walking 4 Pear Pty 5 Peach Pty Movies 6 Watermelon Pty Reading Books Bob Brown 以下是Sheet2的外观: ABC 1 Company Name Company Interests Contact 2 Apple Inc Waterskiing Bruce Kemp 3 Grape Pty Bush walking Steve […]