mysql - 填充给定起点和终点的字母数字值范围

标签 mysql excel vba range data-manipulation

有一个三列约 9,400 行的表,列出了代码的字母数字范围的开始值和结束值以及分配给该范围的第三个值。需要将两列范围端点更改为一列显式列出的 (1:1) 值。您能想出一种方法来自动显式列出范围内的值吗?

当前示例行:
|---r1----|---r2----|ccs|
| 0106T | 0110T | 7 |

期望的输出:
|--代码-|ccs|
| 0106T | 7 |
| 0107T| 7 |
| 0108T | 7 |
| 0109T| 7 |
| 0110T | 7 |

它存储在 MySQL 数据库和 Excel 工作簿中,但任何语言或操作方式都可以。

最佳答案

如果它仅带有“T”,则这将起作用并且是完整宏的良好基础:

Sub Alpha()
Dim WsS As Worksheet
Set WsS = Worksheets("Source")
Dim WsR As Worksheet
Set WsR = DeleteAndAddSheet("Results")

For i = 2 To WsS.Range("A" & Rows.Count).End(xlUp).Row

    For k = Val(WsS.Cells(i, 1)) To Val(WsS.Cells(i, 2))
        WsR.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = k & "T " & WsS.Cells(i, 3)
    Next k

Next i

End Sub

表格的有用功能:

Public Function DeleteAndAddSheet(ByVal SheetName As String) As Worksheet

For Each aShe In Sheets
    If aShe.Name <> SheetName Then
    Else
        Application.DisplayAlerts = False
        aShe.Delete
        Application.DisplayAlerts = True
        Exit For
    End If
Next aShe

Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = SheetName

Set DeleteAndAddSheet = ThisWorkbook.Worksheets(Worksheets.Count)

End Function

关于mysql - 填充给定起点和终点的字母数字值范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29435305/

相关文章:

vba - 使用 VBA 从字符串中提取连续数字

ms-access - 将直通查询中的记录追加到本地表

mysql - 如何将 MS Access 记录从主表和两个链接表导入 Excel?

mysql - 在同一个表中查找每行最接近的值

C# Excel 文本到列问题

mysql - RecordSet 上的 GetRows 不会存储 Access DB 中的文本列

excel - 如何打印一系列纸张?

php - mysql/php 搜索引擎结果太多且结果缓慢

Java Spring Tomcat : Custom DataSource Factory Being Ignored

excel - 在 Excel 或 SPSS 中将 Yes/No 转换为 1/0 的有效方法