相关疑难解决方法(0)

在VBA中查找上次使用的单元格时出错

当我想找到最后使用的单元格值时,我使用:

Dim LastRow As Long

LastRow = Range("E4:E48").End(xlDown).Row

Debug.Print LastRow
Run Code Online (Sandbox Code Playgroud)

当我将单个元素放入单元格时,输出错误.但是当我在单元格中放入多个值时,输出是正确的.这背后的原因是什么?

excel vba excel-formula

168
推荐指数
9
解决办法
11万
查看次数

如何使用宏找到包含Excel工作表中数据的最后一行?

如何查找包含特定列和特定工作表中数据的最后一行?

excel vba

60
推荐指数
4
解决办法
34万
查看次数

如何确定VBA中使用的最后一行,包括中间的空格

如何确定Excel工作表中的最后一行,包括中间的一些空行?

有了这个功能:

Function ultimaFilaBlanco(col As String) As Long        
        Dim lastRow As Long
        With ActiveSheet
            lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, col).End(xlUp).row
        End With            
        ultimaFilaBlanco = lastRow          
End Function
Run Code Online (Sandbox Code Playgroud)

这个数据:

Row 1 : Value
Row 2 : Value
Row 3 : Value
Row 4 : Value
Row 5 : Value
Row 6 : White
Row 7 : Value
Row 8 : Value
Row 9 : Value
Row 10  : White
Row 11  : White
Row 12  : White
Row 13  : Value
Row 14 …
Run Code Online (Sandbox Code Playgroud)

excel vba

34
推荐指数
4
解决办法
21万
查看次数

Excel vba - xlDown

下面的代码试图将所选范围(传递为rng)粘贴到工作表的末尾.如果已经存在2行(A1,A2),则它可以工作.

Sub copyRow(rng As Range, ws As Worksheet)
    Dim newRange As Range
    Set newRange = ws.Range("A1").End(xlDown).Offset(1, 0)
    rng.Copy
    newRange.PasteSpecial (xlPasteAll)
End Sub
Run Code Online (Sandbox Code Playgroud)

因此,如果存在A1和A2,并且如果您将此方法调用100次,则会在它们之后插入100行.但是,如果没有行或只有A1,它只会覆盖A2.我可以在同一行看到excel写(覆盖)

看来,如果xlDown如何计算,如果少于2行,则不确定.

任何帮助,将不胜感激.

excel vba

8
推荐指数
1
解决办法
24万
查看次数

找到第一个空行,然后写入它

我需要在工作簿中找到第一个空行并将信息写入(row,1)和(row,2).我想我现在很困惑......

Function WriteToMaster(num, path) As Boolean

'Declare variables
Dim xlApp As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim infoLoc As Integer

Set xlApp = New Excel.Application

Set wb = xlApp.Workbooks.Open("PATH OF THE DOC")
Set ws = wb.Worksheets("Sheet1")

'Loop through cells, looking for an empty one, and set that to the Num
Cells(1, 1).Select
For Each Cell In ws.UsedRange.Cells
    If Cell.Value = "" Then Cell = Num
    MsgBox "Checking cell " & Cell & " for value."
Next …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

8
推荐指数
2
解决办法
11万
查看次数

计算工作表中的行数

我想从Sheet2代码模块中计算Sheet1中的行数.

sheet1代码模块中,以下代码工作正常

ctr = Range("B2", Range("B2").End(xlDown)).Count
Run Code Online (Sandbox Code Playgroud)

我在Sheet2代码模块中尝试了相同的代码

recct = ThisWorkbook.Sheets("Sheet1").Range("B2", Range("B2").End(xlDown)).Count
Run Code Online (Sandbox Code Playgroud)

我正进入(状态 run time error 1004 Application -Defined or Defined error

谢谢

excel vba excel-vba

7
推荐指数
2
解决办法
7万
查看次数

Excel VBA:获取包含所选范围内的数据的最后一个单元格

如何使用Excel VBA获取包含特定范围内数据的最后一个单元格,例如A列和B列Range("A:B")

excel vba excel-vba

4
推荐指数
2
解决办法
10万
查看次数

使用vba excel查找最后一个单元格地址

我搜索过这个网站,似乎所有的答案都只是指向找到单元格的行号.

我试图设置一个范围,以便它将从列A1到数据的末尾A.此电子表格将每周更新,以便每周都会添加数据.

我想知道什么代码可以工作,以便我可以找到行号并以某种方式将其与我的范围代码绑定,以便它将相等"A" + lastrownumber?或者,如果有代码将列和行号一起提供?如果我错过了正确答案的链接,也会有一个简单的链接,我为帖子和你的时间道歉.

这是我的代码:

Sub NamedRange()

Dim Rng1 As Range
Dim newDate As Integer
Dim NumberOfRows As Range


Dim MyRange As Range
Dim lastRow2 As Range


lastRow2 = Range("A65536").End(xlUp).Row
'lastRow2 = LastRow

Set Rng1 = Sheets("Sheet1").Range(lastRow2)
ActiveWorkbook.Names.Add Name:="MyRange", RefersTo:=Rng1


Dim date1 As String
Dim dat As Date
Dim newPrice As Double


Set RgSales = Range("MyRange")
Run Code Online (Sandbox Code Playgroud)

excel vba

-2
推荐指数
1
解决办法
4万
查看次数

标签 统计

excel ×8

vba ×8

excel-vba ×3

excel-formula ×1