Tag: 循环

Excel的VBA – 如果更深入的select案例不符合标准,避免再次input代码

我想知道是否有一个解决方法,不要重新input代码,如果更深入的select案件不符合条件。 我必须检查月份是否是下面所列的月份之一,如果是我必须检查当月的date是否符合标准。 如果当天不匹配任何情况,则必须运行的代码是在上述ELSE情况下的Select语句中设置的代码。 我知道解决这个问题的唯一方法是通过使用IF语句而不是嵌套的select case,并使用GO TO LABEL将我带回CASE ELSE语句,但看起来非常不经典。 有没有办法不重新input相同的代码在其他情况下,如果更深的select案例不符合条件? Select Case Month(Range("b" & Start)) Case 1 Case 4 Case 5 Case 6 Case 8 GiornoMese = listaattiva(j).Text & "/" & Month(Range("b" & Start)) & "/" & Year(Range("b" & Start)) Select Case Day(GiornoMese) Case 15 **HERE IF THE DAY IS NOT THE 15th CODE SHOULD JUMP […]

用循环openpyxl iter_rows(min_row,max_row)

为什么iter_rows总是说must be str, not int ? 我只是试图把我的第一个值min_row和max_row 。 from openpyxl import load_workbook from itertools import islice wb = load_workbook('xyz.xlsx') ws1 = wb['Sheet1'] lst = ['2','2'] limit = 2 for i in islice(lst,limit): row = ws1.iter_rows(min_row=i,max_row=i) 我试着在这里finditer_rows min_row max_row铸造的想法,但是,我只是得到相同的错误和Worksheet object has no attribute 引用错误是 line 509, in iter_rows max_row += row_offset

试图在一个string中find一个带有循环的字母集合

我试图做一个循环检查列A中的所有单元格,如果它发现任何一个string中包含短语“ISAW”(如1314_ISAW_STUFF),那么它将列G中相应的单元格的值更改为“符合规定”。 我有以下代码,循环工作和Cells.Find选项应该可以工作,但它不会激活任何具有匹配条件的单元格。 Sub mytestsub() Dim sh1 As Worksheet Set sh1 = Worksheets("Sheet1") Dim i As Integer sh1.Activate On Error GoTo MyError For i = 1 To InStr(ActiveSheet, "ISAW") sh1.Cells.Find("ISAW").Activate If InStr(ActiveCell, "ISAW") > 0 Then ActiveCell.Offset(, 7).Value = "COMPLIANT" End If Next i MyError: On Error GoTo -1 End Sub 任何帮助,将不胜感激! 我改变了汤姆慷慨提供的脚本,如下所示,但现在似乎没有工作。 Sub bugfix() 'QA […]

VBA为多个位置应用代码

你好,我有一个macros,从特定的文件夹复制文件到一个文件夹,我想知道我的代码是否可以改变从一个循环内多个指定的文件夹拉多个文件,因为现在我必须为每个创build一个新的模块单个文件夹path/文件。 我有以下代码: Sub SmplAPP() Dim FSO As Object Dim FrFldr As String Dim ToFldr As String Dim myVal1 As Variant Dim myValn As String myVal1 = InputBox("Please enter today's date in mm-dd format") myValn = Replace(myVal1, "-", "\") Range("I1").Value = myValn FrFldr = "\\xxxf003\sample_data\SAMPLE_REPORTS\APPS\Reports\Regional\SAMPLE_APPLICATION\2017\" & myValn ToFldr = "C:\Users\sample\Desktop\logs_to_upload" If Right(FrFldr, 1) = "\" Then […]

几个循环在同一个子

我想弄清楚我怎么能在同一个子内运行几个循环:我有一组excel文件,每个这些文件都必须在列A和O中进行一些更改,每个单元格的值为“136”在一定条件下必须用“174”代替: 现在我所做的是: Sub REPLACE1() Dim y As Integer Dim wB As Workbook Set FileSystemObj = CreateObject("Scripting.FileSystemObject") Set FolderObj = FileSystemObj.GetFolder("\") For Each fileobj In FolderObj.Files Set wB = Workbooks.Open(fileobj.Path) With wB.Sheets("Schedule Daily Bank Structure R") For y = 4 To .Cells(Rows.Count, 8).End(xlUp).Row If .Cells(y, "A") = 136 And .Cells(y, "B") = "320" Then .Cells(y, "A") […]

在Excel 2003中创build一个大小可变的组合的好方法是什么?

我有一个运行很多项目的程序,跳过某些不符合标准的项目。 然后,我回头为其中一些在第一轮错过的个人运行。 我目前通过手动为每个人重新运行程序来做到这一点,但理想情况下,更喜欢一个解决scheme。 我的老板build议的东西可能是有效的将创build一个列表(如在数据 – >列表),其中包含有问题的项目名称,然后迭代列表。 可悲的是,我的帮助文件fu似乎是在让我失望 – 我不知道我是否不知道要找什么,或者什么。 运行“Generate Macro”命令显示,首先创build列表的VBA是沿着ActiveSheet.ListObjects.Add(xlSrcRange,Range(“$ A $ 1”),xlYes).Name =“List1” 不幸的是,我似乎无法弄清楚如何做结果列表的东西。 我正在寻找循环沿线 For Each ListItem in List Run the procedure on the text in ListItem.Value Next ListItem 有什么build议么?

excel文件循环

在我的Excel表格中,我使用了涉及外部表格的公式。 我不想手动更改单元格E7的值(插入外部工作表的名称)的值,而是要写入一个macros以打开所有外部工作表,在E7更改参考值并复制生成的值。 不幸的是,我的代码不工作 – Excel不能“看到”外部工作表中的值。 我应该改变什么? Sub lista_plik() Dim oExcel As Excel.Application Dim oWB As Workbook Set oExcel = New Excel.Application folder = "path_here" folder2 = folder & "*.xlsx" arkusz = Dir(folder2) Do While arkusz <> "" x = x + 1 Range("E7").Value = Replace(arkusz, ".xlsx", "") arkusz = folder & arkusz Set oWB = […]

如何使用VBA在Excel中迭代可变列长度范围

例如,如果一个工作表中的数据如下所示: UsedRange.Columns.Count是6,这是所有行的最大列数。 即使我重复使用 For each row in UsedRange.Rows For each cell in row.Cells … Next cell Next row 每行还是6。

需要使用vbamacros循环在excel中创build一组graphics

我试图做一个macros,将通过Excel工作表,并通过一组行,并为每一行做一个graphics。 我已经得到了一些我需要的代码,但是当我需要为每一行分别绘制一个图时,将它们全部放在一张图上。 `Dim i As Integer Dim ws As Worksheet Set ws = Sheets("Master Sheet") For Row = 1 To 20 Dim my_cell Dim rng As Range Set rng = Sheets("Master Sheet").Range("J8:Y8") For Each my_cell In rng If my_cell <> "" Then ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Master Sheet'!$J$8:$Y$8") ActiveChart.ChartType = xlLineMarkers ActiveChart.Location Where:=xlLocationAsNewSheet ActiveSheet.Activate ActiveChart.PlotArea.Select ActiveChart.SeriesCollection(1).XValues = […]

VBA使用表和循环

创build一个VBA循环来重新调整Excel项目中的所有表的大小。 表名列表存储在名称范围的“Tlist”中 如果写入表名,此代码全部有效。 代码工作在这个循环的列数,但在第二个引用的重新大小,我得到一个错误'下标超出范围' 将鼠标hover在debugging的第二个x上,Excel似乎正确地读取它,但我无法获取它重新调整表的大小与列表对象函数不支持循环中的文本? 或者我做这个循环错了,需要定义x不同? 任何帮助不胜感激。 Sub RSizeTables() Dim rr As Integer Dim cc As Integer Dim x As Range Dim £Table As Range Set £Table = Range("Tlist") For Each x In £Table rr = 2 cc = Range(x).Columns.Count With Sheets("Data").ListObjects(x) .Resize .Range.Resize(rr, cc) End With Next x End Sub