Excel 宏,而无需选择和CtrlC
仅当我从A22-78中选择并按ctrl键控制C行时,此宏才起作用。 我希望它能在我不必这样做的情况下工作。 此函数将(#行)*(每行中有#列)组成一列Excel 宏,而无需选择和CtrlC,excel,vba,Excel,Vba,仅当我从A22-78中选择并按ctrl键控制C行时,此宏才起作用。 我希望它能在我不必这样做的情况下工作。 此函数将(#行)*(每行中有#列)组成一列 谢谢你,我试用了你的代码,它似乎是从左到右读取这些值,并将它们按各自的顺序放在A列中。 这是否有助于: Sub Test() Dim oRange As Range Dim oSheet As Excel.Worksheet Dim vArray() As Variant Dim lCnt_A
谢谢你,我试用了你的代码,它似乎是从左到右读取这些值,并将它们按各自的顺序放在A列中。 这是否有助于:
Sub Test()
Dim oRange As Range
Dim oSheet As Excel.Worksheet
Dim vArray() As Variant
Dim lCnt_A As Long
Dim iCnt_B As Integer
Dim lCnt_C As Long
Dim iCnt_Cols As Integer
Set oSheet = ThisWorkbook.Sheets(1)
Columns(1).Insert
Set oRange = oSheet.UsedRange
iCnt_Cols = oRange.Columns.Count
vArray = oRange
oRange.ClearContents
For lCnt_A = 1 To UBound(vArray)
For iCnt_B = 1 To iCnt_Cols
lCnt_C = lCnt_C + 1
ThisWorkbook.Sheets(2).Cells(lCnt_C, 1).Value = vArray(lCnt_A, iCnt_B)
Next iCnt_B
Next lCnt_A
Set oSheet = Nothing
Set oRange = Nothing
End Sub
如果我误解了你的意图,请告诉我
Sub Test()
Dim oRange As Range
Dim oSheet As Excel.Worksheet
Dim vArray() As Variant
Dim lCnt_A As Long
Dim iCnt_B As Integer
Dim lCnt_C As Long
Dim iCnt_Cols As Integer
Set oSheet = ThisWorkbook.Sheets(1)
Columns(1).Insert
Set oRange = oSheet.UsedRange
iCnt_Cols = oRange.Columns.Count
vArray = oRange
oRange.ClearContents
For lCnt_A = 1 To UBound(vArray)
For iCnt_B = 1 To iCnt_Cols
lCnt_C = lCnt_C + 1
ThisWorkbook.Sheets(2).Cells(lCnt_C, 1).Value = vArray(lCnt_A, iCnt_B)
Next iCnt_B
Next lCnt_A
Set oSheet = Nothing
Set oRange = Nothing
End Sub