EXCEL VBA转为文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL VBA转为文本相关的知识,希望对你有一定的参考价值。
Dim rg As Range Set rg = [a39:j1308] arr = rg rg.ClearContents For i = 1 To 10 k = 0 For j = 1 To 1270 If arr(j, i) <> "" Then k = k + 1 Cells(k + 38, i) = arr(j, i) End If Next Cells(38, i) = i - 1 & "共" & k & "个" c = c + k Next [m38] = "全共" & c & "个" [a39:j1308].Copy Set sh = Sheets.Add(after:=Sheets(Sheets.Count)) sh.[a1].PasteSpecial xlPasteAll sh.Copy ActiveWorkbook.SaveAs "E:\XXX.txt", xlCSV sh.Delete WorkbooksClose False
数据范围为 [a39:j1308]
直接导出为文本,如XXX.txt,不要EXCEL格式
没有路径(与EXCEL 同位置)
pth = ThisWorkbook.Path
Open pth & "xxxx.txt" For Output As #1
For i = 39 To 1038
t = Join(Application.Transpose(Application.Transpose(Cells(i, 1).Resize(1, 10))), ",")
Print #1, t
Next
Close #1
End Sub本回答被提问者和网友采纳
excel vba中将公式转为文本或数值公式
Sub 添加公式()
i = [b65536].End(3).Row
Cells(i + 1, 2) = "=b" & i & "+c" & i - 1
End Sub
1。上面公式是B最后+C最后上一个
2。现在修改成以下公式:B列最后一个非空单元的下一单元=MOD(10+B列最后一个非空单元+(C列最后二个非空单元-D列最后二个非空单元),10)
3。示例子:B列最后一个非空单元的下一单元=MOD(10+B48+(C47-D47),10)
="=MOD(10+B48+(C47-D47),10)"这里意思是这样
B48=B列最后一个非空单元
C47=C列最后第二个非空单元
D47=D列最后二个非空单元
Sub 添加公式()
i = [b65536].End(3).Row
Cells(i + 1, 2) = "=MOD(" & 10 & "+B" & i & "+C" & i - 1 & "-D" & i - 1 & "," & 10 & ")"
End Sub
(C47-D47)这个不需要括号,因为是同级计算。
运行后如图
追问同时将公式转为数值或文本格式
Sub 添加公式()
i = [b65536].End(3).Row
Cells(i + 1, 2) = "=~~~~
Cells(i + 1, 3) = "=
上面加了二个公式,可不以同时将公式转为数值或文本格式
End Sub
Dim endrow, endrow2
endrow = Sheet1.Range("C65536").End(xlUp).Row - 2
endrow2 = endrow - 30
Sheet1.Range("H" & endrow2 & ":H" & endrow).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheet1.Range("A" & endrow + 3).Select
End Sub
Sub 公式变文本2()
Dim endrow, endrow2
endrow = Sheet1.Range("C65536").End(xlUp).Row - 2
endrow2 = endrow - 30
Sheet1.Range("R" & endrow2 & ":R" & endrow).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheet1.Range("A" & endrow + 3).Select
End Sub
以上是关于EXCEL VBA转为文本的主要内容,如果未能解决你的问题,请参考以下文章