Tag: 范围

复制范围由input框指示

我正在寻找一种模式,可以复制Excel表格中的特定范围到新的表格。 目前我有五列。 第一列是一年。 我想指出,例如一个inputinputbox应该复制哪一年。 在B栏中,显示了一年中的几周。 在列C到E,logging特定的数据。 结果,我的工作表看起来像这样: Col A Col B Col C Col D ColE Year Week Amount time forecast 2000 1 368 2000w1 400 2000 2 8646 2000w2 8500 until… 2014 52 46546 2014w52 47000 在input框中,我想指出2014年应该复制到下一张表格。 直到现在我写/编译了下面这个macros: Sub Copy_year() Dim Forecastyear As String Dim Rng As Range Forecastyear = InputBox("Enter a year to […]

VBA:如何解决发布到htm文件造成的缓慢问题?

我有一些代码,运行时,select一些单元格,删除这些单元格的条件格式,但保持格式,然后将这些单元格转换为HTM,以便他们可以通过电子邮件发送。 我遇到的问题是,将表格发布到htm文件的过程非常缓慢,我有很多电子邮件出来,有没有办法绕过这个缓慢? 代码如下: Sub EmailExtract() Dim objOutlook As Object Dim objMail As Object Dim TempFilePath As String Dim Location As String Dim PrimaryNumber As String Dim rng As Range Dim PrimaryRecipients As String Dim SecondaryRecipients As String Dim To_Name As String Dim Region As String Worksheets("Contacts").Activate Range("A2").Select While ActiveCell <> "" Set objOutlook = CreateObject("Outlook.Application") […]

VBA Excel以突出显示另一个工作表上的范围

很久以来,在这里,我终于被难住了,试图编写一些VBA,从另一个工作表上的列B到S高亮显示,在S列中S的值大于另一个工作表上的H10的所有行。 此代码正常工作: Dim i As Long For i = 2 To Rows.Count If Worksheets("Initial Data").Cells(i, 19).Value > Worksheets("Inputs").Range("H10").Value Then Worksheets("Initial Data").Cells(i, 19).Interior.ColorIndex = 4 End If Next i Worksheets("Initial Data").Activate 这将突出显示S列中所需的每个单元格。 我想要做的就是突出显示从B到S的单元格,如下所示: Dim i As Long For i = 2 To Rows.Count If Worksheets("Initial Data").Cells(i, 19).Value > Worksheets("Inputs").Range("H10").Value Then Worksheets("Initial Data").Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = […]

Matlab:如何更新Excel中命名范围的值? (的ActiveX)

我想从Matlab中设置一个命名的范围在Excel中的值。 设置非命名范围的值工作正常。 例如,假设我有一个命名的范围“TENOR”(由一个单元格组成): calibFile = '//path/to/calibration-v2.xlsx' Excel = actxserver('Excel.Application'); Excel.Visible=1; AllWorkBooks = Excel.Workbooks WorkBook = AllWorkBooks.Open(calibFile) AllSheets = WorkBook.Sheets Sheet = get(AllSheets, 'Item', 1) // This Works: Sheet.Range('A1').Value = '5y' // This does not work: Sheet.Range('TENOR').Value = '5y' 有关如何设置命名范围的值的任何帮助?

用基于随机生成的数组索引的数组元素填充范围

我正在创build一个程序,将每天/身体部分创build一个随机的锻炼程序。 下面是我的代码,希望能够从100个练习列表中创build一个简单的腹部练习。 一旦数组被创build,就select一个随机索引号。 我想用这个元素填充abToday范围的四行。 Private Sub CommandButton1_Click() Dim roll roll = Int((7 – 1 + 1) * Rnd + 1) If roll = 1 Then 'Gets all available ab movements Dim abdominals() As Variant abdominals = Sheets("KEY").Range("A2" & Rows.CountIf("A:A", "Abdominals")).End(xlUp).Row 'Creates today's ab routine Dim abToday As Range Set abToday = Range("A7:A22") RandomSample = Int((UBound(abdominals, […]

'Range.Find'和'Range.FindNext'只在第一​​场比赛中循环

我使用VBA Excel循环访问一组数据。 我正在尝试使用Range.Find和Range.FindNext方法的组合来查找某个string。 我很难找出将这些语句放在哪里,因为我需要它们在对方的范围内,但是同时我不希望第一个Find语句每次都保持执行,因此只能循环播放第一个比赛。 Sub AssignGroups() Dim membership As Worksheet Dim wb As Workbook Dim groups As Worksheet Dim nameRow As Long Dim fullNameString As String Dim nameRange As Range Dim groupRange As Range Dim nameRange2 As Range Dim nameIndex As Long Dim userNameString As String Dim barIndex As Long Set wb = ActiveWorkbook Set […]

确定合并单元格的列范围

我的目标是平均在一行中的许多列。 该表按月排列,每列一周,每列有数字的行数。 该表格被分成几个月份,月份名称标题在一个合并单元格中的四列或五列,具体取决于月份的周数(在每月的开始和结束时忽略星期六和星期日)或每月五个星期)。 例如,今年11月(2015年)包括五个工作周。 标题的范围是O11:S11 – 一个合并的单元格。 在这张跨越一年的表格上方,有一个单元格用于计算项目时间花费的时间与平均开销的平均值。 以我十一月的例子来说,我会平均O43:S43。 我想在一个单元格中键入或select要平均的月份,然后从November月份的合并单元格中查找该月的列范围。 例如,如果关键单元格是D9,那么在11月份,我想把平均值放在E9中,而从K11到W11这一年的月份排列,那么解决这个问题的可能方法是什么呢? 我尝试使用一个INDEX MATCH公式,但是这让我无处可去。 我需要写一个VBA函数(我认为)。

如何描述范围?

在函数内部,我需要放一个范围,我知道从哪里开始我的范围,但我必须计算它的结束。 我需要范围350的数字:范围(A1230:1580)。 是否可以写(A1230 till A1230+350) ?

应用程序定义的错误或对象定义的错误3

我试图从"sheet1"获取特定的数据,并把它放在另一个表格中(特别是财务数据)。 在这个代码中,我试图创build一个范围,只包含从stream动资产到stream动资产总额的财务数据部分(如果没有非stream动资产,则为总资产)。 它抛出错误的"Set range1"行。 我正在尝试创build一个从当前资产出售到整个资产单元的范围,以便稍后在代码中使用。 lastCol = Worksheets("Sheet1").Range("a1").End(xlToRight).Column lastRow = Worksheets("Sheet1").Cells(65536, lastCol).End(xlUp).Row Set crntassone = Worksheets("Sheet1").Range("a1", Worksheets("Sheet1").Cells(lastRow, lastCol)).Find("Current Assets:") If Worksheets("Sheet1").Range("a1", Worksheets("Sheet1").Cells(lastRow, lastCol)).Find("Total Current Assets") Is Nothing Then Set ttlass = Worksheets("Sheet1").Range("a1", Worksheets("Sheet1").Cells(lastRow, lastCol)).Find("Total Assets") Set range1 = Worksheets("Sheet1").Range(crntassone, ttlass) Else Set crntasstwo = Worksheets("Sheet1").Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Find("Total Current Assets") Set range1 = Range(crntassone, crntasstwo) End […]

VLOOKUP有多个标准?

我一直试图创build一个VLOOKUP来返回一个值,如果另一列的“提交”date落在date之间。 我的目标是提供一个没有提交某一列数据的所有项目的视图(那一周) 在一个文件中,我有一个项目提交的档案,每次有人提交他们的项目(与提交的时间/date一起)添加一个新的价值观。 (macros复制信息和保存)。 我已经为每周的每一天分配了一个星期的数字,并且今天(2月6日)查看了今天的数据,以便我能够取消当前的星期信息。 如果提交的时间在date之间,我试图返回HN列,为那个项目取消那一周的最新提交。 每个项目都有一个唯一的编号分配给它。 (一周内可能会有多个提交,所以SUMIF将无法工作 – 将这些值乘以项目提交的次数。) 如果需要更多信息,请告诉我 存档数据示例: Project OBR Last Report Submitted: Costs 9977 29/01/2016 11:19 1050 9977 30/01/2016 12:30 1070 (成本保留小计) 我正在尝试的例子: =SUMIFS('[TUR Master Report.xlsm]Archive'!$HN:$HN,'[TUR Master Report.xlsm]Archive'!$B:$B,"<="&$DP:$DP,'[TUR Master Report.xlsm]Archive'!$B:$B,">="&$DO:$DO,'[TUR Master Report.xlsm]Archive'!$A:$A,$DT$2) 但是,如果使用sumif,如果同一周有多个提交,则可以复制成本。 然后,我有VLOOKUP比较今天()与星期的数字拉相关的一周