Tag: 范围

如何使用列和行设置范围

试图让范围设置使用工作表函数COUNTIF 。 这是我得到的: Function count_if(work_sheet As String, criteria As String, column_num As Integer) Dim rows As Integer rows = Get_Rows_Generic(work_sheet, 1) ' get the number of rows in another sheet Dim full_range As Range With work_sheet Set full_range = .Range(.Cells(0, rows), .Cells(0, column_num)) End With count_result = WorksheetFunction.CountIf(full_range, criteria) count_if = range_size End Function Sub […]

select第二行到当前行excel vba

我正在试图find,我如何才能做出select的行。 我需要从第二行select到活动单元格行。 你可以帮我吗? 谢谢 Rows("2:ActiveCell.Row").Select 我尝试这样的东西,但它不工作。

vba基于数组读取,转换和粘贴

我有一个大约2800个条目的数据集的主表,并需要build立新的工作表,主要数据的一个子集没有一些键。 我通过范围直接访问所有这一切,它太慢了。 我现在尝试重build数组的逻辑。 我的目标是(1)通过这个主数组读取一个范围到一个variablesmain-array(2)循环中。(3)根据条件/键构build具有主数组子集的新数组(4)。将每个新的“子集“ – 排列成新的工作表 一(1)我有 Dim varray As Variant varray = Sheets("MAINSHEET").Range("B2:Q" & Sheets("MAINSHEET").Cells(Rows.Count, "B").End(xlUp).Row).Value 对于(2)和(3)我有这样的东西 For masterCounter = 1 To UBound(varray, 1) If InStr(1, currentUID, "KEY_XYZ", 1) Then subarray1(currentRow, 1) = varray(currentRow, 1) subarray1(currentRow, 2) = Trim(varray(currentRow, 2)) subarray1(currentRow, 3) = varray(currentRow, 5) End If masterCounter = masterCounter + 1 Next 然而,现在我遇到了一些types不匹配的错误时,用主数组中的值填充新的子集数组。 […]

设置一个范围,并在公式中使用该范围

我无法弄清楚如何在公式中使用set范围: set range = Application.InputBox(prompt:="test", Title:="test", Type:=8) Sheets("sheet1").Cells(3, 4).Formula = "=sum(range)" 所有返回的是sum(range) ,而不是所选单元格的实际总和。 我试过range.address和其他一些变化无济于事。

使用字符variables的范围

我有以下变数 Dim A,i A="C" i=200 我想用上面的variablesA和i来构造Range("C200") ,怎么做?

IFfunction与两个单元格范围

我有两张单元格的单元格,例如, A1:A5 。 我需要检查Sheet1!A1:A5中的每个单元格的值是否与Sheet2!A1:A5相等,但顺序是值将是字母,并且所有值都不相同。 只需input公式就可以获得#VALUE! 错误。 我知道我只能写下这个公式: =IF(Sheet1!A1=Sheet2!A1;1;0) 然后简单地用不同的值重新键入一些单元格,但我正在寻找一种方法来缩短公式。 有什么build议么?

运行时错误'1004':对象'Range'的方法'FormulaR1C1'失败

我试图创build一个简单的macros,基本上是添加一个新的列,命名它,粘贴公式和填充。 我得到的错误是在主题: 运行时错误'1004':对象'Range'的方法'FormulaR1C1'失败 这是公式: =IF(OR($G2=DATA!$L$3;G2=DATA!$L$4;$G2=DATA!$L$5;$G2=DATA!$L$6;$G2=DATA!$L$7;$G2=DATA!$L$8;$G2=DATA!$L$9;$G2=DATA!$L$10);DATA!$L$2; IF(OR($G2=DATA!$M$3;G2=DATA!$M$4;$G2=DATA!$M$5;$G2=DATA!$M$6;$G2=DATA!$M$7;$G2=DATA!$M$8;$G2=DATA!$M$9;$G2=DATA!$M$10);DATA!$M$2; IF(OR($G2=DATA!$N$3;G2=DATA!$N$4;$G2=DATA!$N$5;$G2=DATA!$N$6;$G2=DATA!$N$7;$G2=DATA!$N$8;$G2=DATA!$N$9;$G2=DATA!$N$10);DATA!$N$2; IF(OR($G2=DATA!$O$3;G2=DATA!$O$4;$G2=DATA!$O$5;$G2=DATA!$O$6;$G2=DATA!$O$7;$G2=DATA!$O$8;$G2=DATA!$O$9;$G2=DATA!$O$10);DATA!$O$2; IF(OR($G2=DATA!$P$3;G2=DATA!$P$4;$G2=DATA!$P$5;$G2=DATA!$P$6;$G2=DATA!$P$7;$G2=DATA!$P$8;$G2=DATA!$P$9;$G2=DATA!$P$10);DATA!$P$2; "OTHER"))))) 而macros观: Sub Macro16() ' ' Macro16 Macro ' ' Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("I1").Select ActiveCell.FormulaR1C1 = "CSS Team" Range("I2").Select ActiveCell.FormulaR1C1 = _ "=IF(OR(RC7=DATA!R3C12,RC[-2]=DATA!R4C12,RC7=DATA!R5C12,RC7=DATA!R6C12,RC7=DATA!R7C12,RC7=DATA!R8C12,RC7=DATA!R9C12,RC7=DATA!R10C12),DATA!R2C12, IF(OR(RC7=DATA!R3C13,RC[-2]=DATA!R4C13,RC7=DATA!R5C13,RC7=DATA!R6C13,RC7=DATA!R7C13,RC7=DATA!R8C13,RC7=DATA!R9C13,RC7=DATA!R10C13),DATA!R2C13, IF(OR(RC7=DATA!R3C14,RC[-2]=DATA!R4C14,RC7=DATA!R5C14,RC7=DATA!R6C14,RC7=DATA!R7C" & _ "ATA!R8C14,RC7=DATA!R9C14,RC7=DATA!R10C14),DATA!R2C14, IF(OR(RC7=DATA!R3C15,RC[-2]=DATA!R4C15,RC7=DATA!R5C15,RC7=DATA!R6C15,RC7=DATA!R7C15,RC7=DATA!R8C15,RC7=DATA!R9C15,RC7=DATA!R10C15),DATA!R2C15, IF(OR(RC7=DATA!R3C16,RC[-2]=DATA!R4C16,RC7=DATA!R5C16,RC7=DATA!R6C16,RC7=DATA!R7C16,RC7=DATA!R8C16,RC7=DATA!R9C16,RC7=DATA!R10C16),DATA!R2C16, ""OTHER"")))))" Range("I2").Select Selection.AutoFill Destination:=Range("I2:I21445") Range("I2:I21445").Select End Sub

从Excel范围填充数组

我试图设置一个数组从MS Excel范围的数据。 我的VBAmacros用另一个数组中的文本replace数组中的文本。 它适用于数组,但现在我试图用Excel文件中的数据填充这些数组。 我正在使用范围,我尝试了成千上万的方法,不成功。 我不是一个VBA编码器,所以也许我错过了一些基本概念….:| 这里是代码 提前感谢任何帮助! Sub ReplacePT2ES() Dim oSld As Slide Dim oShp As Shape Dim oTxtRng As TextRange Dim oTmpRng As TextRange Dim strWhatReplace As String, strReplaceText As String Dim x As Long Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim rng As range Set xlApp = CreateObject("Excel.Application") Set xlBook […]

如何从单元格中提取列(Excel,VBA)

我试图编写我的第一个Excel VBAmacros时遇到(运行时错误'1004':应用程序定义或对象定义的错误)错误。 我在堆栈溢出和其他网站上看过类似的问题,但是我的问题似乎比其他问题更基本。 目前,我试图从一张纸上的两个单元格中获取数据,并将其写入另一张纸上。 我明白,试图find一个单元格或单元格的行或单元格或行的引用是不必要的,但最终我会使用for循环,并将replace特定的单元格引用的variables。 这里是我有两行代码: Worksheets("Sheet2").Range("A1").Value = Worksheets("Sheet1").Range("A" & Worksheets("Sheet1").Range("B2").Row).Value Worksheets("Sheet2").Range("B1").Value = Worksheets("Sheet1").Range(Worksheets("Sheet1").Range("B2").Column & "1").Value 第一行运行良好。 它将Sheet1的A2写入到Sheet2的A1中。 第二行不运行,不写Sheet1的B1到Sheet2的B1,引用错误,我不知道为什么。 感谢您的时间和帮助!

VBA乘以两个命名的范围

我一直试图在这个地方看到这个,我似乎无法find答案或让它工作。 我有代码 'Define Variables for cell ranges' Dim BidItem As Range Dim BidItemDes As Range Dim BidItemUnit As Range Dim BidItemQTY As Range Dim BidItemUP As Range 'Store the sheet range into the variables' Set BidItem = Sheets("BidItems").Range("A1:A" & Range("A1").End(xlDown).Row) Set BidItemDes = Sheets("BidItems").Range("B1:B" & Range("B1").End(xlDown).Row) Set BidItemUnit = Sheets("BidItems").Range("C1:C" & Range("C1").End(xlDown).Row) Set BidItemQTY = […]