相关疑难解决方法(0)

VBA将满足条件的行复制到另一个工作表

我是VBA的新手...如果此行中的第一个单元格表示X,则我要将Sheet2中的一行复制到Sheet1,然后对符合此条件的所有行执行此操作.我在If条件中有错误...我不知道如何解决它.

Sub LastRowInOneColumn()
'Find the last used row in a Column: column A in this example
    Worksheets("Sheet2").Activate
    Dim LastRow As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With
    MsgBox (LastRow)
    For i = 1 To LastRow
    If Worksheet.Cells(i, 1).Value = "X" Then
    ActiveSheet.Row.Value.Copy _
    Destination:=Hoja1
    End If
    Next i
 End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba copy-paste excel-vba

6
推荐指数
1
解决办法
11万
查看次数

在列中搜索1并在找到时将整行粘贴到另一个工作表?

我正在努力处理一些陷入循环的代码.我试图让代码复制BD列中的值为1的任何行,并将整行的值粘贴到另一个工作表中的下一个空行.我使用的代码如下

Sub FindIssues()
Dim LR As Long, i As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LR
Sheets("Macro Worksheet").Select
If Range("BD" & i).Value = "1" Then Rows(i).Select
Selection.Copy
Sheets("Macro Worksheet 2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

  Do Until IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
 Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Sheets("Macro Worksheet").Select


Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

excel vba excel-vba

5
推荐指数
1
解决办法
3231
查看次数

使用AutoFilter的SpecialCells在VBA中获取可见单元格时出错

我的主要目标是复制自动过滤器的可见单元格,然后将可见单元格的尺寸复制到新工作表中.我正在使用此代码:

Sheets(1).AutoFilterMode = False
Sheets(1).Range("A1:A1").AutoFilter Field:=columnaNumeroIntervalo, criteria1:=CDec(paramCantidadCriterio)
Sheets(1).Range("A1:A1").AutoFilter Field:=columnaNumeroIntervaloUnidades, Criteria1:=paramUnidadesCriterio

MsgBox AutoFilter.Range.SpecialCells(xlCellTypeVisible)(2, 11).Value
Run Code Online (Sandbox Code Playgroud)

在最后一行,我想检查单元格的值.如果我使用Cells(2,11)而不是SpecialCells我可以看到细胞具有片材的所有细胞,可见且不可见.所以我想用SpecialCells.

如果我使用特殊单元格,我会收到以下错误:

error '-2147417848 (80010108) in runtime. Automatization error.

对于执行类型的时间,它似乎进入一个循环,最后给出了这个错误.也许SpecialCells修改自动过滤器然后在每次修改中再次执行自动过滤器?

excel vba autofilter excel-vba visible

4
推荐指数
1
解决办法
8590
查看次数

根据条件删除行

我希望有人可以帮助解决这段代码.如果我在A栏中找到文本'FemImplant',我想删除整行.棘手的部分是这个文本是由'$'链接的句子的一部分.所以我需要代码在'$'之前解析单元格内容,看看它是否与'FemImplant'匹配并删除该行.这是我到目前为止所做的,但它是无法工作的.

Dim cell As Excel.Range
 RowCount = DataSheet.UsedRange.Rows.Count
 Set col = DataSheet.Range("A1:A" & RowCount)
 Dim SheetName As String
 Dim ParsedCell() As String

 For Each cell In col

 ParsedCell = cell.Value.Split("$")
 SheetName = ParsedCell(0)

 If SheetName = "FemImplant" Then
 cell.EntireRow.Delete Shift:=xlUp

 End If
Run Code Online (Sandbox Code Playgroud)

下一个

excel vba excel-vba

4
推荐指数
1
解决办法
9993
查看次数

VBA:在列过滤器上触发宏

有没有办法可以在excel中的列过滤器上触发宏功能?

请帮忙

谢谢.

excel vba excel-vba

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

在excel中有效地复制可见/已过滤的行

我正在处理一些非常大的数据集(各种表格,每行65K +行和多列).我正在尝试编写一些代码,以尽可能快地将过滤后的数据从一个工作表复制到一个新的空工作表,但到目前为止还没有取得多大成功.

我可以按请求包含其余代码,但它所做的只是计算源和目标范围(srcRange和destRange).计算这些的时间可以忽略不计.绝大部分时间都花在这条线上(确切地说是4分50秒):

srcRange.Rows.SpecialCells(xlCellTypeVisible).Copy Destination:=destRange
Run Code Online (Sandbox Code Playgroud)

另外我试过这个:

destRange.Value = srcRange.Rows.SpecialCells(xlCellTypeVisible).Value
Run Code Online (Sandbox Code Playgroud)

但是当有过滤器时,它无法正常工作.

Function FastCopy(srcSheet As String, srcCol As String, destSheet As String, destCol As String)

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    Dim srcRange As Range
    Dim destRange As Range

    Set srcRange = GetColumnRangeByHeaderName(srcSheet, srcCol, -1)
    Set destRange = GetColumnRangeByHeaderName(destSheet, destCol, srcRange.Rows.Count)


    'destRange.Value = srcRange.Rows.SpecialCells(xlCellTypeVisible).Value

    srcRange.Rows.SpecialCells(xlCellTypeVisible).Copy Destination:=destRange

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationManual
End Function
Run Code Online (Sandbox Code Playgroud)

这是一款速度较慢的双核机器,运行excel 2010时运行2GB内存.结果显然会在更快的机器上发生变化.

excel vba excel-vba

1
推荐指数
1
解决办法
4331
查看次数

标签 统计

excel ×6

excel-vba ×6

vba ×6

autofilter ×1

copy-paste ×1

visible ×1