Tag: 范围

VBA识别范围内的数字

我相信这是一个简单的,但似乎没有find任何明确的WWW。 我需要我的代码来识别列中的1到9之间的任何数字,以便将该错误返回给该范围,目前我只能使用一个数字来处理它。 Public Sub ErrorCheck() Dim FindString As String Dim Rng As Range FindString = "" If VBA.Trim(FindString) <> "" Then With Sheets("Scoring").Range("S:S") Set Rng = .Find(What:=FindString, _ After:=.Cells(.Cells.Count), _ LookIn:=xlValues, _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) If Not Rng Is Nothing Then MsgBox "Error", True Else End If End With End If […]

从默认表大小VBA Excel中select所有数据

我有一个电子表格的默认表格大小和布局是由另一个电子表格的信息填充。 该表总是具有相同的列数,但行中的条目数量可能会有所不同。 我想从表中select所有数据,并将其粘贴到另一个表中,而不复制任何空行。 我最初的尝试涉及以下代码: Set rightcell = Range("B9").End(x1Right) Set bottomcell = Range(rightcell).End(x1Down) 要定义右下angular应该是什么,所以我可以像这样引用整个表格: Range("B9", bottomcell).Select 或复制或其他。 当我运行这个,它给了我一个“用户定义或对象定义的错误”,我不知道为什么。 我把代码input为一个更大的子的一部分,我已经定义了我的variables作为范围和变体,试图让这个工作。 我花了相当多的时间在互联网上寻找解决scheme,但到目前为止,我发现的信息并没有明确地涉及到我的问题,也没有类似的解决scheme。 有谁知道这是什么适当的编码,或者如果我正在做一些小的错误,抛出一切closures? 我记得在大学的一个项目中遇到同样的问题,但在我的生活中,我不记得解决办法。 这很令人沮丧。 另外,如果我太模糊或者需要更多的解释,请不要犹豫。 先谢谢您的帮助! 编辑:我忽略了一个重要的注意事项是,我想从中提取数据的表格是在与多个其他表格的中间,我不想与之交互。

在这个excel vba脚本中下标超出范围错误

我想从csv文件复制数据到Excel工作表。 有11个CSV文件。 到目前为止,我有这个(这是以前的post修改后的版本): Sub importData() Dim filenum(0 To 10) As Long filenum(0) = 052 filenum(1) = 060 filenum(2) = 064 filenum(3) = 068 filenum(4) = 070 filenum(5) = 072 filenum(6) = 074 filenum(7) = 076 filenum(8) = 178 filenum(9) = 180 filenum(10) = 182 Dim sh1 As Worksheet On Error GoTo my_handler For lngPosition = […]

用于多variables的循环

我正试图将操作列表转换为Excel VBA中的For循环。 Sheets("Clients").Select Range("A7").Select Selection.Copy Sheets("DB TEMP").Select Range("A2:A13").Select ActiveSheet.Paste Sheets("Clients").Select Range("B7,D7,F7,H7,J7,L7,N7,P7,R7,T7,V7,X7").Select Selection.Copy Sheets("DB TEMP").Select Range("E2").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True 想象一下,你必须这样做x次,我开始考虑创build一个For循环,也许它就像Python一样简单。 这是我现在的代码(这是不工作) Dim Cellule As Range Dim Feuille As Worksheet Sheets("Clients").Select For Each Cellule In Range("A1:A260") 'For all cells in the column A If Cellule <> "" Then '#if the cell is not […]

VBA计数限制在两个date之间

我正在尝试执行一个COUNTIF,但是当涉及到定义范围时,要使用在前面的“查找”语句中find的行值。 通过显示我的代码可能更容易解释: Public Sub Run_Count_Click() '// Set Ranges Dim Cr_1, CR1_range, _ Cr_2, CR2_range, _ Cr_3, CR3_range, _ Cr_4, CR4_range, _ Cr_5, CR5_range _ As Range '// Set Integers Dim CR1, V1, CR1_Result, _ CR2, V2, CR2_Result, _ CR3, V3, CR3_Result, _ CR4, V4, CR4_Result, _ CR5, V5, CR5_Result, _ total_result, _ total_result2, _ total_result3, […]

在Excel中连接3d范围

如何修改这个UDF以适应多张纸的三维范围? Function ConcatenateRange(ByVal cell_range As range, _ Optional ByVal seperator As String) As String Dim cell As range Dim newString As String Dim cellArray As Variant Dim i As Long, j As Long cellArray = cell_range.Value For i = 1 To UBound(cellArray, 1) For j = 1 To UBound(cellArray, 2) If Len(cellArray(i, j)) <> 0 […]

在Excel范围中使用variables

我正在寻找使用variables来find一个范围,然后使用这些来激活一个select。 这里是我有的代码: Dim first As Integer Dim Last As Integer first = (ActiveCell.Row + 1) Selection.End(xlDown).Select Last = (ActiveCell.Row – 1) Range(("J" & first) : ("J" & last)).Select 但是,Excel VBA 2010中出现此语法错误。 有什么build议么。 谢谢,

Excel 2010 VBA帮助复制列的范围

我的代码几乎按照需要工作。 它检查所有表单中的“F”列中的某个值,然后将其关联的行复制到活动表单中。 我可以让代码复制整行,单数列“A”或顺序范围“A:C”。 我似乎无法使它复制像“A”“C”和“F”这样的特定列,这是我需要做的。 Public Sub List() Dim ws As Worksheet Dim i As Integer ActiveSheet.Rows("3:" & ActiveSheet.Rows.Count).Clear Selection.Clear For Each ws In Worksheets If ws.Name <> ActiveSheet.Name Then For i = 1 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row If ws.Cells(i, "F").Value = "Pending" Then ws.Cells(i, "A").Columns("A:D").Copy Destination:=ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) End If Next End If Next

如何循环dynamic范围并将该范围内的select信息复制到另一个表单

我已经创build了一个大约160行的VBA脚本,它生成了您在下面看到的报告。 如果不使用单元格引用(因为每次运行时都会更改date范围),现在我需要将用户标识,名称,总小时数,总分钟数,加class时间1和加class时间2复制到表单2中。 任何关于如何构buildVBA脚本来search行B的build议,直到find空白为止,find空白时,复制该行J,K,L,M行上的值以及复制值上面的行C – 现在将这些值粘贴在图表2上。 – 继续此过程,直到find两个连续的空白或数据的结尾… 即使你可以build议一个不同的方式来解决这个问题,而不是我上面所说的逻辑,这将是不胜感激。 如果您有兴趣,我可以分享整个代码,并向您展示我开始使用的数据。 预先感谢你,J

在sumif公式的条件部分设置范围

我想看看B的总和,因为它在2月17日到2月23日的范围内。 AB 17-Feb 5.00 19-Feb 12.00 22-Feb 7.00 26-Feb 10.00 我的估计到目前为止: =sumif(A:A,????, B:B) 我如何制定一个从17年2月到23年2月的价值标准呢? 我也尝试过=sum(sumif(A:A,{17-Feb;?;?;23-feb}, B:B)但它不会让我。 特别是问题是在数组中inputdate。