Excel 将值存储在一个单元格中
我在excel中有一列,其中有一个值列表 我要做的是从该列中删除重复值,并将所有唯一值存储在一个单元格中 e、 g.移除重复项后,如果存在以下值列表 OPF OIP 猫头鹰 卵子 然后我想将上述详细信息存储在一个单元格中,即OPF、OIP、OWL、OVL 请帮助…这将是好的,如果有任何vba代码或excel公式 谢谢你的帮助 我用我自己的…但是真的很感谢同样的Excel 将值存储在一个单元格中,excel,excel-formula,excel-2010,vba,Excel,Excel Formula,Excel 2010,Vba,我在excel中有一列,其中有一个值列表 我要做的是从该列中删除重复值,并将所有唯一值存储在一个单元格中 e、 g.移除重复项后,如果存在以下值列表 OPF OIP 猫头鹰 卵子 然后我想将上述详细信息存储在一个单元格中,即OPF、OIP、OWL、OVL 请帮助…这将是好的,如果有任何vba代码或excel公式 谢谢你的帮助 我用我自己的…但是真的很感谢同样的 Sub combine() Dim mstr, mstr2 As String Dim v As Range Set v = Sheet
Sub combine()
Dim mstr, mstr2 As String
Dim v As Range
Set v = Sheets("Data").Range("A1")
mstr = ""
mstr2 = ""
i = 0
Do
i = i + 1
v.Cells(i, 1).Select
If IsNumeric(v.Cells(i, 1)) = True Then
mstr = mstr + "'" + str(v.Cells(i, 1)) + "' or "
mstr2 = mstr2 + "'" + str(v.Cells(i, 1)) + "' , "
Else
mstr = mstr + "'" + v.Cells(i, 1) + "' or "
mstr2 = mstr2 + "" + v.Cells(i, 1) + " , "
End If
Loop While IsEmpty(v.Cells(i + 1)) = False
mstr = Left(mstr, Len(mstr) - 4)
mstr2 = Left(mstr2, Len(mstr2) - 4)
Sheets("Data").Range("C3") = mstr
Sheets("Data").Range("C4") = mstr2
End Sub
您可以创建以下自定义函数:
Function UniqueInString(InputList As Range) As String
Dim inputListArray() As String
Dim cell As Range
Dim size As Integer
size = 0
ReDim Preserve inputListArray(size)
For Each cell In InputList.Cells
If Not (UBound(Filter(inputListArray, cell.Value)) > -1) Then
ReDim Preserve inputListArray(size)
inputListArray(size) = cell.Value
size = size + 1
End If
Next cell
Dim counter As Integer
Dim result As String
result = ""
For counter = 0 To UBound(inputListArray)
result = result + inputListArray(counter) + ","
Next counter
result = Left(result, Len(result) - 1)
UniqueInString = result
End Function
这将为您提供一个单元格中的唯一记录,而无需创建唯一记录列表。只需在包含所有记录的列表上调用此函数。请注意,我不认为如果有很多记录,这会表现得那么好。
请帮助…如果有任何vba代码或excel公式,这将是一件好事。
如果我能为这些问题获得报酬,这将是一件好事:D您可能希望看到欢迎访问。这不是一个免费的代码编写服务,但我们将很乐意帮助您。向我们展示您尝试了什么以及在哪里遇到了问题。上面有很多类似问题的例子,这应该给你一个开始。您可以先查看Excel帮助中的删除重复项
,然后搜索如何将可变数量的单元格合并为一个单元格。