Tag: 范围

如何根据月份检查单元格的范围/列并复制它们

所以基本上,我想要做的是这样的: ——A——–B——-C——-D—— 1 Date Weight Misc ID* 2 2014-06-12 210 445556 3 2014-07-13 150 546456 4 2014-08-14 265 546456 5 2014-09-15 655 655654 6 2014-10-16 87 546656 7 2014-10-17 1552 545488 8 2014-11-18 225 546545 我有一个button,我希望它运行一个macros来检查列A中的date是否在当前月份。 我试过使用 Month(Date) 但它会检查整个date,而不是仅在一个月。 如果colmumn A中单元格的月份等于当前月份,我希望它复制对应于该特定单元格的整行信息。 例如:当前月份是十一月份,我希望它复制A8 + B8 + C8 + D8,然后将这些信息粘贴到一个完全不同的工作簿中。 请记住,我完全是VBA的新手,但这是我到目前为止: Sub dat() Dim rng As Range […]

将范围复制到不同表格中的命名范围

我有一个名为“容量”的命名范围,它指的是“模型”和范围(“I13:I15”) 现在在macros下面我有Range“ScnCap” 现在到最后,所有被评论的东西似乎都不起作用 尽pipe目标非常简单,但我只想给macros指定名称范围(“容量”)的范围(“ScnCap”)。 任何想法,我错了吗? Dim wm, ws, wr As Worksheet Dim i, j, l, m As Long Dim char As Variant Dim ScnCap As Range Set wm = Sheets("Model") Set ws = Sheets("Scenarios") Set wr = Sheets("Results") For i = 1 To 5 With ws j = i + 1 .Cells(7, j).Select Set ScnCap […]

如何定义范围的终点作为数据的最后一行?

我使用vlookup后,查找我使用自动填充。 在macros自动填充代码后,它find范围并自动填充它。 但是就代码的健壮性而言,它并不是有用的,因为它发现的范围会粘到代码上。 基本上, ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)" Range("F2").Select Selection.AutoFill Destination:=Range("F2:F502") Range("F2:F502").Select 是原始代码,我只想做Range(“F2:last data”) 提前致谢 编辑:解决。 Dim LastRow As Long LastRow = Cells(Rows.Count, "F").End(xlUp).Row Range("F2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)" Range("F2").Select Selection.AutoFill Destination:=Range("F2", Cells(LastRow, 6)) 我试图简化代码,但我想我需要在每个VLOOKUP之前

如果该行包含基于数字范围的特定值,则将一行从一张纸复制到另一张纸上

我想复制并粘贴一行,如果该行包含一个特定的值。 不过,我有约。 我需要获得的100,000个值中有100,000个(复制并粘贴到单独的行中)。 因此,是否有可能创build一个VBA,允许我创build一个循环或某种types,我可以指定这些值? 例如,而不是 For Each cell In Sheets(1).Range("A:A") If cell.Value = "1" Then matchRow = cell.Row Rows(matchRow & ":" & matchRow).Select Selection.Copy Sheets("Sheet2").Select ActiveSheet.Rows(matchRow).Select ActiveSheet.Paste Sheets("Sheet1").Select End If 我需要: For Each cell In Sheets(1).Range("A:A") If cell.Value = "1 OR 3 OR 5 OR 10 OR 15, etc." Then matchRow = cell.Row Rows(matchRow & […]

计算列中定义的范围之间的唯一值

我有列000.XX.XXtypes的数字 = COUNTIFS(临时!$ A1:$ A200,“> = 000.11.35”,临时!$ A1:$ A200,“<= 000.11.39”),此公式计算000.11.35和000.11.39之间的值。 但是我想只计算唯一的值。 我怎样才能做到这一点?

select单元格时出现excel运行vba代码的问题

我已经写了下面的函数,但是我得到一个错误,由于If intersect …行上的时间不匹配,导致无法编译。 当我将鼠标hover在“目标”而不是范围上时,debugging显示所选单元格的值(我不知道这是否表示问题) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim lastEntry As Integer Dim shiftEntries As Range lastEntry = LastEntryRow() Set shiftEntries = Range("A11:L" & lastEntry) If Intersect(Target, shiftEntries) Then Dim shiftDate As String shiftDate = Cells(Target.Row, 1).Value Cells(10, 15) = ShiftsInSevenDays(shiftDate) End If End Sub 任何帮助深表感谢。

如何在C#中引用Datatable的列而不是通过标头名称

我已经将一个excel文件的信息传递给一个数据表。 我只能select一部分的列来采取行动。 但是有四个列有相同的标题名称,所以我不能用标题名称来引用它们。 防爆。 数据|名称|客服中心|额外|额外|额外|额外费用。 我不能改变标题名称,因为Excel文件是从程序自动生成的报告。 到现在为其他function,我select这样的列: DataTable dt = xls.ReadExcel(file); dt = dt.SelectColumns(false, "Date", "Transaction ID", "Service ID", "Service",); SelectColumns方法是: public static DataTable SelectColumns(this DataTable dt, bool distinct, params string[] filters) { DataView dv = new DataView(dt); DataTable newdt = dv.ToTable(distinct, filters); return newdt; }

如何创buildExcel行并将其插入Excel范围?

我有一个如下所示的Excel工作表(只是一个例子) 我创build了一个Microsoft.Office.Interop.Excel.Range对象,引用从Item1到Category5(上图中选定单元格)的范围。 现在我想要创build一个新的行(Market1,Market2,Market3,Market4,Market5),并将其添加到范围下方,即在Category行下方。 我第一次使用Microsoft.Office.Interop.Excel类。 有人可以帮助我弄清楚如何创build和添加一个新的行到现有的范围对象。 这是我写的代码 – public class Class1 { static void Main(string[] args) { Application appExcel = new Application(); WorkBook workBook = appExcel.Workbooks.Open(@"C:\Data.xlsx", true, false); workSheet = (Worksheet)workBook.Sheets["Export"]; Range usedRange = workSheet.UsedRange; Range itemCatRange = GetSection(usedRange, "Item1","Group1"); //Gets the selected range as shown in pic //Here I want to create a new row […]

VBA代码,用于根据特定的单元格标准将单元格从一列移动到另一列

我已经看到了几个问题,询问如何使用VBA将单元格从一个工作簿移动到另一个工作表或另一个工作表,但是希望基于特定条件将信息从一列移动到另一列。 我编写了这个代码来移动列A中的单元格,如果它们在同一个表中包含单词“保存”到列I: Sub Findandcut() Dim rngA As Range Dim cell As Range Set rngA = Sheets("Jan BY").Range("A2:A1000") For Each cell In rngA If cell.Value = "save" Then cell.EntireRow.Cut Sheets("Jan BY").Range("I2").End(xlDown).Select ActiveSheet.Paste End If Next cell End Sub 但是,虽然这个macros在运行时没有显示任何错误,但是它也没有做太多的事情。 没有select,剪切或粘贴。 代码中哪里出错了?

Excel VBA:获取与范围关联的工作簿

该macros需要开始从用户select的工作簿上的各种工作表中select数据。 换句话说,我不知道工作簿的名字。 我要求用户在另一个已经打开的文件中select一个单元格,以便我可以开始从该书中抓取数据。 Set bookRange = Application.InputBox(prompt:="Select a cell in the sheet from which you wish to import data", Type:=8) bookName = bookRange.GET_WORKBOOK_NAME_SOMEHOW 像GET_WORKBOOK_NAME_SOMEHOW存在吗?