excel中如何提取整行的数据

B1到IV1的所有出现的数据都显示在A1中(从B1到IV1之间不一定在哪个单元格会有数据,出现的数据也不多,一个单元格足够放得下)

第1个回答  2013-10-08
=A1&B1&C1&D1&E1&F1&G1&H1&I1&J1&K1&L1&M1&N1&O1&P1&Q1&R1&S1&T1&U1&V1
再将值复制到a1单元格内就行了。

把他们的代码链个按钮或指定个快捷键,VBA的用法就是这样的。

VBA又不会,那把我的公式里A,B,C……前面加上$符,然后把这个公式复制到某一列,再把一整列复制粘贴到A列就行了。

请楼下远程教他吧。
第2个回答  2013-10-08
会VBA么?
dim a as string
dim rg as range
for each rg in B1:IV1
IF RG<>"" THEN
A= A & RG.TEXT
END IF
NEXT RG
RANGE("a1")=a.text

如果不会VBA,那就全选一整行,复制,粘贴到记事本中.然后再从记事本中复制,粘贴到A1单元格中.

PS:这个动作不太保险啊,风险是Excel 2003的格子只能显示255个字符,超过了就丢失了.如果不是2003就没这个问题.追问

不会VBA。下面说的复制粘贴那个我自己也会的,但是不只一行,很多行的,那样太麻烦了。我想知道用公式可以实现吗?

追答

IV列有256列哦.用普通的文本链接公式不太现实

就是A1中输入公式"=B1&C1&D1&....

追问

那个就太.....长了吧!!得加256个,好长

追答

Function HBPX(rng As Range)
Dim Myarr, Tmp

Myarr = rng
For i = UBound(Myarr, 2) To LBound(Myarr, 2) + 1 Step -1
For ii = LBound(Myarr, 2) To i - 1
If Myarr(1, ii) > Myarr(1, ii + 1) Then
Tmp = Myarr(1, ii)
Myarr(1, ii) = Myarr(1, ii + 1)
Myarr(1, ii + 1) = Tmp
End If
Next ii
Next i
For n = LBound(Myarr, 2) To UBound(Myarr, 2)
If Myarr(1, n) "" Then
If HBPX = "" Then
HBPX = Myarr(1, n)
Else
HBPX = HBPX & "," & Myarr(1, n)
End If
End If
Next n
End Function

严格按我说的操作
1,复制我上面的代码内容,不要多也不要少
2,按ALT + F11,会出现一个界面,在那个界面的空白的地方,粘贴上面的代码.
3, CTRL+S 保存,回到Excel界面.

在A1单元格输入公式 =HBPX(B1:IV1)
先下拖拽,复制公式即可.

如果还搞不定除了远程协助,真帮不上啦..

第3个回答  2013-10-08
ALT+F11 粘帖 如下代码, 然后运行此宏

Sub test()
For Each c In Range("b1:AV1").SpecialCells(xlCellTypeConstants)
m = m & " " & c
Next
[a1] = m
End Sub追问

请教!菜鸟级别的,没有运用过宏。具体操作该怎样?我按了ALT+F11后出现个页面,看到有运行的工具栏,点开后出现宏名称.....怎么填写?粘贴是在excel中A1单元格粘贴吗?请详细说一下,谢谢

追答

把代码粘贴到代码窗口空白的地方就行了

EXCELL  工具栏右键    VISUAL BASIC  打勾,  调出宏的工具栏 , 点绿三角 运行宏



  加好友,我帮你弄吧

追问

还是不会,出现这样的页面只有宏名处可以粘贴。是不是我做的不对啊?

追答

Function un(rg As Range)
For Each c In rg
m = m & c
Next
un = m
End Function

本回答被提问者采纳
相似回答