Tag: for loop

我的循环太复杂 – Excel VBA

我仍然在Excel VBA中编写一个程序,而且我一直被困在一个特定的问题上几个小时。 我试图确定某个特定的日子是否有人可用,但是我提供的信息是在他们没有的时候提供的。 所以我试图编写一系列for循环来比较所有这些信息,并把它放到Excel中。 但是,我面临的问题是,这个问题相当复杂: With ActiveSheet ' Check the ID_Array and Date_Array to see if any names match For DateIndex = 0 To MinLimit For IDIndex = 0 To ID_Number 'If (ID_Array(IDIndex, 0) = Date_Array(DateIndex, 0)) Then ' We're going to use our column not only as a match check, but as our way […]

Excel数据透视表问题使用VBA将列设置为“正在运行总计”

我正在使用VBA循环透视表,以便更新值以包括新的数据(来自外部源)并更新分组的开始和结束date。 这个代码工作… For Each pvt In ws.PivotTables For Each pvtFld In pvt.RowFields rowLabel = pvtFld.Name pvtFld.DataRange.Group Start:=startDate, End:=endDate, By:=7, Periods:=Array(False, False, False, True, False, False, False) Next pvtFld … [Trouble code will go here, but let me explain further] Next pvt 我遇到的问题是刷新所有的“运行总数”重置为“不计算”。 录制macros对于其他电子表格是有帮助的但不是有用的 ' Sets the "Total" Column from each Pivot to "Running Total" With […]

COUNTIF()在'For'循环中

我有一个近100k列,并试图确定在该列中重复出现多less次值。 我现在可以一行一行地做,但是这是一个程序员,通过像= COUNTIF(D:D,D2)这样的东西。 然而,只有在D列返回D2的匹配。 我需要迭代D返回countif的所有值,因此揭示列中的所有值的重复。 我可以稍后删除重复项 所以我有一个开发。 button的基本子,或function(这对我来说是新的),并沿着最基本的循环线的东西。 刚好赶上如何实现COUNTIF()正确的循环。 现在我正在看: Sub doloop() Dim i As Integer i = 1 Do While i < D.Length Cells(i, 8).Value =CountIf(D:D,D[i]) i = i + 1 Loop End Sub 这段代码显然是不正确的,但它是我所在的地方,可能会帮助更熟悉其他语言的人。

初始化UserForm多次

对于我正在处理的项目,我正在编写UserForm,通过向将使用该工作表的人员询问某些数据来填写Excel文件。 有多个数据需要的数据需要相同的数据types。 因此,我想要一个用户窗体多次popup来填写Excel文件中不同位置的数据。 关于我想要程序做什么的一个简短的分步指南是以下内容: 询问数据集( i )的数量。 复制集合1中的预设Excel单元格,并将它们粘贴到彼此之下,直到它们到达i集合。 询问用户要填写的数据集1中,然后让用户窗体填充它在集合1中的单元格。 对每个数据集重复步骤3,直到set i被填充,然后卸载UserForm。 步骤1和2是没有问题的,但是我在这些步骤之后是下面的代码。 我想有一种方法来初始化我的每个值的UserForm,它可能应该包括在For循环,在它进入下一个值之前。 它应该每次都是相同的UserForm,因为每个集合所需的数据都由相同的东西组成,只是其他值。 Private Sub UserForm_Initialize() For i = 1 To Sheet4.Cells(5, 4) If Sheet4.Cells(5, 4) = 1 Or i = 1 Then LastCrossing = "Crossing" Else LastCrossing = "Crossing " & i End If Set CrossingLoc = Sheet4.Cells.Find(What:=LastCrossing, After:=Sheet4.Cells(1, 1), LookIn:=xlFormulas, _ LookAt:=xlPart, […]

vbaparsingxml,我从web服务器,并写入excel采取很多tim

我想写一个更多的50000行的蚀刻行有11个单元格,这使我更多的18分钟这样做。 有人可以告诉我,我在做什么错? 我看到,大部分时间都花在写入价值变体上,而不是写入Excel中 谢谢itay public Sub updateResultsSheet() Dim ws As Worksheet: Set ws = ActiveSheet Dim NewBook As Excel.Workbook: Set NewBook = ActiveWorkbook Dim suppDistBranchId As String Dim suppProdId As String Dim reportingDate As String Dim query As String Dim nodeCell As IXMLDOMNode Dim rowCount As Integer Dim cellCount As Integer Dim rowRange As Range […]

为循环尝试语句使用jxcelapi添加EXCEL数据到SD卡

我很难….(crated一个简单的循环testing,但仍然只写一个单元格…第一个。有人可以解释为什么在循环中它写入log.d完美和addcell不…. 。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String Fnamexls="testfile" + ".xls"; File sdCard = Environment.getExternalStorageDirectory(); File directory = new File (sdCard.getAbsolutePath() + "/Lottery"); directory.mkdirs(); File file = new File(directory, Fnamexls); WorkbookSettings wbSettings = new WorkbookSettings(); wbSettings.setLocale(new Locale("en", "EN")); WritableWorkbook workbook; try { workbook = Workbook.createWorkbook(file, wbSettings); workbook.createSheet("Report", 0); sheet = workbook.createSheet("First Sheet", […]

R – 使用grepl和相同的嵌套for循环多条件

我试图用“1”来标记所有的水果,否则只有一个国家提供或“0”。 我有两个数据表: 表格1: 水果 – 每行都有不同的水果,例如苹果,香蕉,桃子等。 国家 – 每行都有2位iso格式的水果主要供应国,例如美国,英国,NO等。 SourceUnique – 这是我想用“1”填充行的列,只有一个国家提供水果,否则为“0”。 表2: 国家/地区 – 每行都有最后一个表格的2位iso格式的供应商国家/地区。 用品 – 每行都有供应商交付的水果清单,例如第一行是“苹果,香蕉”,第二行是“菠萝,桃,梨,苹果”等。 这两个表都从CSV文件导入,那么我的代码如下: Table1$SourceUnique=rep(1,length(Table1$Country)) for(i in 1:length(Table1$Country)){ for(k in 1:length(Table2$Country)){ if(grepl(Table1$Fruit[i], Table2$Supplies[k])==TRUE && identical(Table1$Country[i], Table2$Country[k])==FALSE){ Table1$SourceUnique[i]=0 } } } 我没有得到任何错误,但SourceUnique列没有正确填写。 我得到1和0与一些正确的和其他人没有。 经过大量的search和调整,我已经接受了我不知道和需要帮助,所以任何build议或解决scheme将是太棒了。 谢谢。 编辑更多信息: 有些水果有来自同一个国家的许多供应商,表2 $供应杂乱地与其他词在它烦人。 示例数据: Table1$Country <- c("UK","US","NO") Table1$Fruit <- c("Apple","Banana","Pear") Table2$Country <- c("UK","US","UK") Table2$Supplies <- […]

数据透视表展开“值”VBA

我试图自动添加字段到已经创build的数据透视表。 这些字段将是“期间1的总和”…“期间360的总和”。 我已经有了1-60的时间,但是我失去了61-360。 手动拖放300次将是一件痛苦的事情。 所以我写了一个macros,但我得到的错误: 无法获得枢轴字段类的枢轴项目属性 由于数据透视表已经创build(这是一个很多格式怪异的大表),我不想改变任何东西。 我只是想把这些时期加上period61-period360的值。 我附上我的代码。 任何人可以给我的帮助将是非常感谢,因为我不知道我做错了什么,我试图不要太沮丧。 非常感谢你提前。 这是我的代码: '——————— Expand_Pivot_to_360M Macro——————-' Sub Expand_Pivot_to_360M() ' Setting Pivot field classes to the "unable to get pivot items property of the pivot field class" error Sheets("Monthly Summary").Select With ActiveSheet.PivotTables("PivotTable1").PivotFields("universe") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("PivotTable1").PivotFields("buckets_break") .Orientation = xlRowField .Position = […]

VBA文本循环优化 – 从文本中提取电子邮件

我需要一个小项目的帮助。 我刚开始使用VBA,我想我可以使用学习来优化我的代码。 单元格A2包含许多用“,”分隔的电子邮件地址的文本。 我设法提取所有的电子邮件地址,但我认为我使用了太多的单元格,而且我想知道是否可以帮助我减less它,并使用定义的variables。 工作代码的屏幕截图 Sub fpor() Dim Text As String Dim full As Integer Dim i As Integer Dim e As Integer Dim part As String Dim part_len As Integer Dim part_a As Integer Dim Text_2 As String x = 5 ActiveCell = Range("A2") Text = Range("A2") full = Len(Text) 'full = InStrRev(Text, ",") […]

直到select值等于For Each值

我目前正在尝试使用一种做法,直到每个,但我有一个问题。 我想要做的是直到select值等于所选的值为以下代码中的每个部分: Private Sub Copiar() Dim Eselect As Variant Dim vItem As Variant Dim Col As Integer Eselect = Array(CBE1.Value, CBE2.Value, CBE3.Value, CBE4.Value, CBE5.Value) For Each vItem In Eselect Range("C2").Select Do Until Selection.Value = vItem.Value Selection.Offset(0, 1).Select Loop Col = ActiveCell.Column Columns(Col).Copy Sheets(2).Active Range("A1").Select If Range("A1") = "" Then Columns(Col).Copy Else Do Until Selection.Value = […]