excel - 将单元格移动到满足条件的特定工作表
问题描述
我想创建一个将单元格行移动到特定工作表中的 VBA。基本上将所有数据都放在一个工作表上,并将行复制到它所属的工作表中。
标识符是发票编号中连字符前的前两位数字。
例如,
发票编号以“1-”开头的每一行都将粘贴到工作表 2
发票“3-”将被粘贴到表 3...等
我能够找到一些可以工作的代码行,但是我很难找到正确的代码来读取连字符之前的数字。
Private Sub CommandButton1_Click()
a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
If Worksheets("Sheet1").Cells(i, 1).Value = "1-" Then
Worksheets("Sheet1").Rows(i).Copy
Worksheets("Sheet2").Activate
b = Worksheets("Sheet2").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("Sheet1").Activate
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Select
End Sub
大约有 16 个不同的发票号码标识符,所以我将有 16 个不同的表,它也会粘贴它。
解决方案
定义这个:
Dim dashpos As Long
如果我输入了错误的信息,请在根据您的数据复制之前添加此行。这会将数据放在左侧,-
您可以将其放入所需的工作表中。左侧的数字将被提取并放入第 4 列,然后您可以在那里比较数字。
dashpos = InStr(1, Cells(i, 1), "-")
Cells(I, 4).Value = Left(Cells(i, 1), dashpos - 1)
推荐阅读
- java - 如何修复 android.os.FileUriExposedException:file:///storage/emulated/0/Documents/SM.pdf 通过 Intent.getData() 暴露在应用程序之外
- javascript - 如何在打字稿中创建一个复杂的对象
- vba - 如何对齐雪佛龙自选形状类型
- node.js - 节点中的 req.body 为空
- php - 访问类中的数据
- php - PHP中超过最大行数后如何附加另一个文件?
- java-web-start - 如何在 ubuntu 18.04 上使用 javaws 运行 CitNetExplorer.jnlp?
- asp.net-core - 利伯曼。构建应用程序期间出现错误 LIB002
- c# - 导航按钮使 wpf 程序崩溃
- python - How to remove extra 'border' on QTabWidget?