Tag: for循环

比较一列中excel单元格的匹配或另一列的差异

我的数据由两个有趣的列A和B. 每个独特的单元格应该有相同的相应序列号,即每个KR0146U09A3条目应该有相同的序列号,它是B150501388 ,我很高兴放弃A08和A09部分的string。 同样, KR0146U21A1条目的序列号都是0000a000K2008438a 。 我很自在地构build如果在excelstring匹配的语句,但我不明白如何构buildfor循环循环通过每个单元格对列表。 我想这个任务的伪代码是:对于列A中的每个唯一的单元格,检查B中相应的单元格是否相同。 有人可以提供一个开始,我怎么可以写一个函数来做到这一点在Excel中? 以下是我的数据的一个例子: Cell Serial Number KR0146U09A3 B150501388-A08 KR0146U09A3 B150501388-A09 KR0146U09A3 B150501388-A08 KR0146U09A3 B150501388-A09 KR0146U09B3 B150501395-A08 KR0146U09B3 B150501395-A08 KR0146U09B3 B150501395-A09 KR0146U09B3 B150501395-A09 KR0146U09C3 B150501391-A08 KR0146U09C3 B150501391-A08 KR0146U09C3 B150501391-A09 KR0146U09C3 B150501391-A09 KR0146U21A1 0000a000K2008438a KR0146U21A1 0000a000K2008438a KR0146U21A2 0000a000K2008438a KR0146U21A2 0000a000K2008438a KR0146U21A3 0000a000K2008438a KR0146U21A3 0000a000K2008438a KR0146U21B1 0000a000K2008447a KR0146U21B1 0000a000K2008447a KR0146U21B2 0000a000K2008447a […]

遇到我的For和If语句有问题

我试图做一些事情,我点击我的searchbutton,它search单元格中的值为“10000”的10,000个项目,然后填充我想从该行信息到我的search框的工作表中的所有数据。 我遇到的问题是,当我search一个项目,它填充行应该,然后我去search另一个项目,它只会覆盖第一个。 我想要它,所以它会下移一行,所以当我去search第二,第三甚至第四个项目,他们都在不同的行。 我会在这里包括我的代码,所以如果你能帮到的话,那就太好了。 我已经尝试使用偏移量,仍然没有占上风。 Sub SearchBox() Dim erow As Long Dim ws As Worksheet Dim lastrow As Long Dim count As Integer lastrow = Sheets("Charlotte Gages").Cells(Rows.count, 1).End(xlUp).Row For x = 2 To lastrow i = 3 If Sheets("Charlotte Gages").Cells(x, 1) = Sheets("Gages").Range("A1") Then Sheets("Gages").Cells(i, 1) = Sheets("Charlotte Gages").Cells(x, 1) Sheets("Gages").Cells(i, 2) = Sheets("Charlotte Gages").Cells(x, […]

用for循环和if语句清除单元格的内容

我有这样的代码: For Each cell In Worksheets("Sheet1").UsedRange If(Left(cell, 3) <> 574 Or Left(cell, 3) <> 584 Or Left(cell, 3) <> 233) Then cell.ClearContents Next 代码purpuse是循环遍历表中所有使用的单元格,如果前三位数字不是574,233,584,那么单元格将被设置为空。 在我的电子表格中,我有值得通过的值,前三位数字等于574,233,584; 而是循环删除电子表格中的所有内容。 任何对于我可能具有的逻辑错误的洞察力都会受到欢迎。

Excel VBA循环行不起作用,运行时错误“1004”

我想创build一个循环,通过在Excel中选定范围内的行,并输出到每一行的分数,但我得到这个错误引用for循环(设置VARIABLE1)中的firt行。 如果我用“A2”replace.Range(“A”),那么我得到一个输出,但只有第一行自然。 我怎样才能让代码循环每一行? 代码: Dim rng As Range Dim Final_risk_score Set rng = Worksheets("sheet name").Range("A1:Z100") For Each Row In rng.Rows VARIABLE1 = Worksheets("sheet name").Range("A") VARIABLE2 = Worksheets("sheet name").Range("K") VARIABLE3 = Worksheets("sheet name").Range("J") VARIABLE4 = Worksheets("sheet name").Range("W") VARIABLE5 = Worksheets("sheet name").Range("G") VARIABLE6 = Worksheets("sheet name").Range("N") VARIABLE7 = Worksheets("sheet name").Range("X") VARIABLE8 = Worksheets("sheet name").Range("Y") VARIABLE9 = Worksheets("sheet2").Range("N7") […]

有条件的For循环逃逸Sub

我的代码如下: sub main() '''some more code''' For j = InStr(1, stext, " ") To Len(stext) If IsNumeric(Mid(stext, j, 1)) Or IsAlpha(Mid(stext, j, 1)) Then letter1 = Mid(stext, j, Len(stext)) Exit For End If Next j '''some more code''' end sub 当我走过macros,当它到达这一行: If IsNumeric(Mid(stext, j, 1)) Or IsAlpha(Mid(stext, j, 1)) Then 它逃脱了整个分! 我做错了什么,我该如何解决?

VBA for循环结束提前

如果我正在迭代k = 1到100,我有时需要重新启动迭代,如果不符合标准。 在这种情况下,我创build一个1到100之间的随机数,但是如果这个数字低于51,我想迭代重新开始。 现在代码返回一个可变数量的值。 有时1,有时90。 任何想法为什么? Public k as long Sub Example() For k = 1 To 100 Call ExampleExtended Next k End Sub Sub ExampleExtended() Dim Val As Integer Val = Int((100 – 1 + 1) * Rnd) If Val < 51 Then k = k – 1 Exit Sub End If Debug.Print […]

如果“iserror”FOR循环具有不同的对象types

我有一个stringtypes(例如“N / A”)或数字的列。 我试图写一个VBA代码,如果FOR循环遇到一个stringtypes,它将被转换为0.本质上发生了什么是代码沿列(K)值(例如$ 10,$ 600, $ 5200,N / A,$ 5),并保持单元格的值,如果它是一个数字,如果一个单元格中有文本,则文本转换为0.范围是(K6:K10),公式看起来像, =If(iserror(K6/10) = TRUE, 0, K6) 码: Dim a As Integer Dim DilutedRev As Integer For a = 6 To 10 DilutedRev = ActiveCell(a, 11).Value If IsError(DilutedRev / 100) = True Then ActiveCell(a, 11) = 0 Else ActiveCell(i, 11) = DilutedRev End If

find唯一id excel的date间隔

我正在使用Excel中的这些数据。 这里是原始数据 input person1 2007 person1 2008 person1 2008 person1 2011 person2 2005 person2 2008 person2 2009 person3 2011 person3 2012 person3 2012 person3 2014 person4 2015 希望输出 person1 2007 0 person1 2008 1 person1 2008 0 person1 2011 3 person2 2005 0 person2 2008 3 person2 2009 1 person3 2011 0 person3 2012 1 […]

如何将一个variables的几次迭代保存到Excel中

我有一些像下面这样简单的东西,我把这个脚本称为5次迭代。 for n=i:5 (call script) end 如何将一个variables输出保存为excel。 说variables每次迭代的变化: A=5 A=2.7 A=6 。 。 这可以保存到一列Excel中? 我应该使用:xlswrite('output.xlsx',A,…..有一些范围?

为命名输出文件Python创build循环

所以我要input一个名字列表 文本文件将包括: Eleen Josh Robert Nastaran Miles my_list = ['Eleen','Josh','Robert','Nastaran','Miles'] 然后我将每个名称分配给一个列表,我想为该列表中的每个名称写一个新的excel文件。 #1. Is there anyway I can create a for loop where on the line: temp = os.path.join(dir,'…'.xls') _________________________ def high_throughput(names): import os import re # Reading file in_file=open(names,'r') dir,file=os.path.split(names) temp = os.path.join(dir,'***this is where i want to put a for loop for each name […]