vba - 对于 sheet1.range 中的每个单元格,如果单元格包含值(即 %)粘贴到工作表 2 中的下一个空单元格中 c 列
问题描述
请帮忙!我正在尝试创建一个宏来遍历一个范围并基于标准(单元格值),将该单元格和左侧的单元格复制到下一个空行的列中的工作表 2。
我试图合并我找到的几个不同的代码,但我无法解决。我不认为这很难,但对我来说很难。
到目前为止我的代码:
Sub Ado()
Dim Last As Long
Dim sht1 As Worksheet, sht2 As Worksheet
Dim i As Long
Set sht1 = Worksheets("Target Calculator")
Set sht2 = Worksheets("Exceptions")
Last = 61
With sht1
For i = 5 To Last Step 1
If (Cells(i, "J").Text) = "26.00%" Then
Cells(i, "J").Value = sht2.Cells(i, "c").Value
End If
Next i
End With
End Sub
我没有接受过任何正式的 VBA 培训,我一直在尝试通过在这个网站上构建和学习来学习。
非常感谢
解决方案
可能类似于以下内容,假设您的单元格格式为百分比,但实际找到的值为.26
.
Option Explicit
Public Sub Ado()
Dim Last As Long
Dim sht1 As Worksheet, sht2 As Worksheet
Dim i As Long, unionRng As Range
Set sht1 = Worksheets("Target Calculator")
Set sht2 = Worksheets("Exceptions")
Last = 61
With sht1
For i = 5 To Last
If (.Cells(i, "J").Value) = 0.26 Then
If Not unionRng Is Nothing Then
Set unionRng = Union(unionRng, .Cells(i, "J").Offset(, -1).Resize(1, 2))
Else
Set unionRng = .Cells(i, "J").Offset(, -1).Resize(1, 2)
End If
End If
Next i
End With
If Not unionRng Is Nothing Then unionRng.Copy sht2.Range("C" & sht2.Cells(sht2.Rows.Count, "C").End(xlUp).Row)
End Sub
推荐阅读
- python - cv2 摄像头不关机?
- replace - 上传 .xlsx 文件
- android - 如何将 Ionic 项目的 CI/CD 编写到 Android Google
- firebase - 如何在地图字段中创建唯一 ID?
- javascript - 用于检测标记的@users 的正则表达式
- laravel - Laravel Jetstream - 停止多设备登录
- python - For循环用Python中的给定变量列表构建DataFrame
- java - java扫描仪不弹出
- json - 无法访问 URLSession 数据任务功能范围之外的解码 JSON 数据(来自 API)
- php - 在您的集群错误中找不到活动节点 - Elasticsearch