帮我写access vba代码: 有一个字符串变量TSNTC,这个变量内的内容是用换行符分割的行,用分号分割的列,我需要将这个变量转换成表格
时间: 2024-12-26 18:30:06 浏览: 2
在Access VBA中,你可以使用`Split`函数来拆分字符串,并结合`Range`对象来创建表格。下面是一个示例代码片段,假设你的数据存储在一个名为Sheet1的工作表上,A1单元格开始:
```vba
Sub ConvertStringToTable()
Dim TSNTC As String
' 假设TSNTC已经赋值
TSNTC = "行1;列1;列2" & vbCrLf & "行2;列3;列4"; ' 括号内的内容替换实际的TSNTC
' 分割字符串为数组
Dim data() As String
data = Split(TSNTC, vbCrLf) ' 按换行符分割
For i = 0 To UBound(data)
data(i) = Split(data(i), ";") ' 再按分号分割每一行
Next i
' 创建新工作表并将数据填充到表格
Dim wsNew As Worksheet
Set wsNew = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
Dim rowCounter As Long, colCounter As Long
rowCounter = 1
For Each row In data
For Each cellValue In row
wsNew.Cells(rowCounter, colCounter).Value = cellValue
colCounter = colCounter + 1 ' 这里假设每一列的数据都在同一行内
Next cellValue
rowCounter = rowCounter + 1
colCounter = 1 ' 结束一行后,恢复列计数
Next row
wsNew.Columns.AutoFit ' 自动调整列宽
End Sub
```
运行此宏后,你会在新的工作表上看到一个表格形式的结构。
阅读全文