如何在一个函数中增加多个范围/单元格引用

我正在研究一个可以让多个单元格在其中的函数,所以我可以参考一下它

csvRange(A2,C2:E2,G2) 

输出的单元格值在列中拖动时会将引用递增到下一行。 我目前得到这个:

 Function csvRange(myRange As Range) Dim csvRangeOutput For Each entry In myRange csvRangeOutput = csvRangeOutput & entry.Value & Chr(34) & "," & Chr(34) Next csvRange = csvRangeOutput End Function 

这是一个范围,但不是倍数罚款

也作为一个曲线球,只为我自己的应用程序,我需要在每个单元格之间添加这个

 Chr(34) & "," & Chr(34) 

原因是这是一个csv应用程序,所以如果我在函数中有A1 = Test1和B1 = Test2,结果将是

 Test1","Test2 

我知道,Excel有这样做的出口function,但它不会为我的应用程序工作

这可以帮助你,像这样使用csvRange("C2:F7;C5:D6")

 Function csvRange(myRange As String) As String Dim csvRangeOutput As String, _ AbsAdd As String, _ ColNum As Double, _ A() As String A = Split(myRange, ";") For i = LBound(A) To UBound(A) ' If InStr(1, A(i), ":") Then 'Range is 1D or 2D For Each cel In Range(A(i)) csvRangeOutput = csvRangeOutput & cel.Value & Chr(34) & "," & Chr(34) Next cel ' Else ' 'Describe range is a single cell => we scan the whole column ' AbsAdd = Range("E1").Address(True, True, xlR1C1) ' ColNum = CDbl(Right(AbsAdd, Len(AbsAdd) - InStr(1, AbsAdd, "C"))) ' For k = 1 To ActiveSheet.Cells(Rows.Count, ColNum).End(xlUp).Row ' If cel.Value<>vbNullString then csvRangeOutput = csvRangeOutput & cel.Value & Chr(34) & "," & Chr(34) ' Next k ' End If Next i csvRange = csvRangeOutput End Function