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 同位置)

参考技术A Sub s()
    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

参考技术A 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转为文本的主要内容,如果未能解决你的问题,请参考以下文章

excel vba将公式转为数值

excel vba将公式转为数值

ASP中有啥函数把文本型值转换为数值型值?

Excel VBA操作word文件

excel vba 数字转文本

怎么把csv格式文本转为txt文本或excel