- Sub 按钮1_Click()
- Dim arr, brr, i&, j&, cot&, temp$
- On Error Resume Next
-
- '选择数据区域,包含列标题
- arr = Application.Intersect(ActiveSheet.UsedRange, Application.InputBox("选择数据区域,包含列标题", , , , , , , 8))
-
- '选择的列数不为2时跳过
- If UBound(arr, 2) <> 2 Then Exit Sub
-
- cot = UBound(arr)
- ReDim brr(1 To cot, 1 To 3)
- For i = UBound(arr) To 2 Step -1 '遍历数组
- If arr(i, 1) = "name" Then '等于"name"时候,得到每三列的名称,记入temp
- temp = (arr(i, 2))
- Else
- cot = cot - 1
- brr(cot, 1) = arr(i, 1) '不等于"name"时,记入数组brr
- brr(cot, 2) = arr(i, 2)
- brr(cot, 3) = temp
- End If
- Next
-
- brr(1, 1) = arr(1, 1)
- brr(1, 2) = arr(1, 2)
- brr(1, 3) = "z" '标题
- '在E1单元格,输出数组brr
- Range("E1").Resize(UBound(arr), 3) = brr
- '定位空值,并删除
- Range("E1").Resize(UBound(arr), 3).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
- End Sub


雷达卡



京公网安备 11010802022788号







