Tag: 范围

1004错误(范围级别的select方法失败)

我目前正在使用一个工具,获取一些数据,但不是公式或其他格式。 只是纯文本。 但它给了我1004的错误。 这是我的代码: Sub WBS() Dim sourceColumn As Range, targetColumn As Range Set sourceColumn = Workbooks("totalcosts.xlsm").Worksheets(3).Range("A3:A300") Set targetColumn = Workbooks("Backing sheet.xlsm").Worksheets(2).Range("C6:C300") sourceColumn.Copy targetColumn.Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Call Resource_Name End Sub 它总是给我错误的targetcolumn.select 但是当我用这个代码复制粘贴就行了, *"sourceColumn.Copy destination=targetcolumn"* 它粘贴我需要的数据。 但是它复制公式而不是值。

合并两个单元格的文本作为文件path的输出

亲爱的stackoverflow社区, 我一直在做一个程序,使地图结构取决于Excel中的索引。 这个索引是可变的,这意味着章节的名字在任何时候都可以是不同的。 章节的数量并不总是相同的。 因为我使用数据validation来select章节的内容,所以我不能使用连接选项在同一单元格中编辑章节。 看这里: 根据索引,我想索引的文件夹结构。 我可以得到这个工作为C56和D56 。 所以这意味着一个章节。 这是代码: Sub Try_This_Maybe_Multiple() Dim myDir As String myDir = Sheets("Invulformulier").Range("J6") & "\" & "Material data book" & "\" & Sheets("Index").Range("C56") & " " & Sheets("Index").Range("D56") MkDir myDir On Error GoTo 0 End Sub 现在我试着把Range("C56:C70")和Range("D56:D70")放在一起。 ( C56是指数开始的地方)不幸的是,没有工作。 我也search了多个网站,尝试了不同的东西。 这也没有给出任何结果。 简短的回顾 我想在代码中合并单元格C56和D56的文本。 然后对于C57和D57等,而不必为每个单独的行写。 这个想法最终是一个人将PDF文件放在它所属的文件夹结构中,然后在文件夹的结构中生成一个组合的pdf文件: 我希望我的问题很清楚。 如果不是,请问我需要什么信息。 谢谢。

VBA Excel:复制具有起始位置和目标位置的列

我想将一个工作表中的列的值复制到另一个已经有行的工作表中。 我想将工作表“源”中列A中的值添加到工作表“dest”中的X列中。 但是我想跳过源列的前两行,并且值应该在第2000行之后插入。 比如像这样: Workbook.Sheets("source").Columns("A3:A").Copy Destination:=nDestSheet.Range("X2001") 但是VBA告诉我types不匹配。 我想我只是在语法方面做错了什么。 有人可以帮忙吗? 谢谢!

Excel CountifS。 标准多列范围。 无序的比较testing

这是我的第一个问题,所以如果有什么问题请不要杀了我。 我在这个网站上find了很多解决scheme,但现在还没有。 很抱歉,我还无法发布图片。 这并不容易,但我会尝试。 关键点: 我的数据有以下标题: 决定_Id对手1对手2对手3 Suitor1 Suitor2 Suitor3 Suitor4 Decision_id是唯一的整数标识符。 其余的是string。 每一行代表一个特定的司法决定。 每个决定可以有最多3个对手(辩护方)和最多4个追求者(攻击方)。一个特定的一方可以是一个决定的追求者,另一个可以是另一个追随者。 我想要得到什么 : 交叉表,行和列标题都是我在表中遇到的不同方。 (没有问题,完成。)每个单元格显示特定的对手(由行标题定义)被特定的追求者(列标题)攻击了多less个不同的决定=>所有的对angular线单元格都等于零(一方不能攻击本身)和表是不对称的。 我努力了 申请到第一个细胞,并扩大: =所有对手的固定范围:$ B $ 2:$ D $ 6“,”想要的对手值:$ A2“,”所有追求者的固定范围:$ E $ 2:$ H $ 6“,”想要的追求者价值:B $ 1“) 我有一个错误。 我想出了标准范围必须是相同的大小。 好的,创build虚拟空栏=>没有错误,但是,结果显然被低估了。 我认为只有当对手和追求者拥有相同的“号码”时才有一场比赛。 详细说明:对于每一行,excel都会testingopponent1和suitor1对应的值,然后是opponent2和suitor2,然后是opponent3和suitor3 …这实际上解释了为什么范围必须是相同的大小。 所以,我需要什么 对于每一行来说,是否要对所有对手进行优秀testing,以testing所需的对手价值。 如果至less有一个对手和一个追求者对应,给它一个匹配并且计数这个决定(尽pipe对手1和追随者3有要求的值) 备注 我已经做了一个VBA代码来完成这个工作,但是这个代码太慢了(整个表格大约需要5个小时),而且我希望对不同types的表格做相同的处理和/或修改这个表格。 所以我对“纯粹的Excel”感兴趣,快速解决scheme。 非常感谢你!

问题“381”与范围VBA

我有以下代码填充ListBox Function fillData() Dim vList As Variant Dim ws As Worksheet: Set ws = Worksheets(BD) With ws If (IsEmpty(.Range("D2").Value) = False) Then Dim lastCell As String: lastCell = "D" & .Range("D65536").End(xlUp).Row vList = ws.Range("D2:" & lastCell).Value Me.ListBox1.List = vList End If Me.ListBox1.ListIndex = -1 End With Set vList = Nothing Set ws = Nothing End […]

生成运行时错误1004时更改为单元格

当我改变从字母到单元格的范围时,下面的部分开始产生运行时错误1004: 用字母: Application.SumIf(Sheets(4).Range("E:P"), _ Sheets(6).Cells(i, 1).Value2, _ Sheets(4).Range("K:K")) 没有字母: Application.SumIf( _ Sheets(4).Range(Cells(1, 5), Cells(intLstRowA, 16)), _ Sheets(6).Cells(i, 1).Value2, _ Sheets(4).Range(Cells(1, 11), Cells(intLstRowA, 11))) 它是一个更大的循环的一部分: intLstRowA = Sheets(4).Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To 9 Sheets(6).Cells(i, 2) = _ Format( _ Application.SumIf( _ Sheets(4).Range(Cells(1, 5), Cells(intLstRowA, 16)), _ Sheets(6).Cells(i, 1).Value2, _ Sheets(4).Range(Cells(1, 11), Cells(intLstRowA, 11))) _ […]

去范围并添加具有特定值的单元格到一个新的范围

我在Excel中与vba有点新。 我试图做一个函数来检查特定文本的范围,并将包含该值的单元格添加到新的范围。 并返回新的范围。 我在brettdj上find了几乎相同的代码,并对我的情况进行了一些修改。 function如下所示: Function Test(Testvalue As String, TargetRange As Range) As Range Dim rng2 As Range Dim c As Range For Each c In TargetRange If c.Text = Testvalue Then If Not rng2 Is Nothing Then ' Add the 2nd, 3rd, 4th etc cell to our new range, rng2 ' this is the […]

Excel VBAselect – 更好的代码

我只想知道下面的代码是否可以用更简单或更短的命令重新编写。 我是新来的,觉得我不是这样做的最好方法。 我想要做的是select列A中的所有连续的数据。谢谢。 Sub colA() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row Cells(LastRow, 1).Select Range(Selection, Selection.End(xlUp)).Select End Sub

VBA范围和string混淆

认为我有一个范围和string之间的差异的问题。 试图让它search任何获胜者的范围内的单元格,然后吐出一个点值。 Sub it() Dim Round1 As Range Dim Round2 As Range Dim lngCnt As Long Dim Winner() As String Dim pointSum As Double ReDim Winner(1 To 4) Winner(1) = "Mohler" Winner(2) = "Scotter" Winner(3) = "DKGAY" Winner(4) = "Lassie" Set Round1 = Range("L3,L11,L22,L32").Text For Each Winner In Round1 lngCnt = lngCnt + 10 Winner(lngCnt) […]

VBA如何find最接近的数字

我有一个范围(以一定的时间间隔改变)。 对于每一个变化,我想find范围内最接近0.5的数字,无论是在上涨和下跌。 所以,例如,如果我有:0.42 0.48 0.51 0.53 我想抢到0.48和0.51。 现在我有这个代码: Set Rng = Sheet1.Range("L" & FirstRow & ":L" & RangeCount) MaximumInRange = WorksheetFunction.Max(Rng) 我正在计算范围内的最大值,但是很没用。 我不知道如何获得最大值<0.5和最小值> 0.5。 谢谢!