Birkaç farklı stok konumunda tutulan benzersiz bir tanımlayıcıyı (Ürün Numarası) aramaya çalışıyorum. Örneğin:
__A__ __B__ __C__
1 Item # Warehouse Description
2 ABCD-0001 WHSE 1 Red Label
3 ABCD-0001 WHSE 3 Red Label
4 QRST-0005 WHSE 2 2" Pipe
5 QRST-0005 WHSE 1 2" Pipe
6 LMNO-0002 WHSE 4 6" Pipe
7 LMNO-0002 WHSE 2 6" Pipe
Ve arama formülümün sonuçlarımı şöyle sıralamasını istiyorum:
__A__ __B__ __C__
1 ITEM WAREHOUSE Description
2 ABCD-0001 WHSE 1, WHSE 3 RED LABEL
3 QRST-0005 WHSE 2, WHSE 1 2" Pipe
4 LMNO-0002 WHSE 4, WHSE 2 6" Pipe
Gördüğüm tüm işlevler (INDEX-MATCH, VLOOKUP) sonuçları sadece farklı hücrelerde dikey olarak listeleyebiliyor. Depoları aynı hücrede listelemek ve virgülle ayırmak istiyorum.
Bu web sitesinde başka bir yayında gördüğüm VBA'da bir Kullanıcı Tanımlı İşlev yaratmaya çalıştım. Ancak, # DEĞER hatası almaya devam ettim. Benim inancım, örneğimde gördüğümdeki harflerin sadece sayılar içerdiği harflerden kaynaklanıyor olmasıdır.
Herhangi bir ve tüm önerileriniz memnuniyetle karşılanacaktır.
Başlangıçta kullandığım İşlev Kullanıcı BryanC'sinde bulundu. Bu gibi görünüyordu:
Public Function mylookup(inputrange As Range, match As Range) As String
Dim arr() As Variant
Dim d As Object
Dim result As String
Dim i As Integer
Dim v As Variant
Set d = CreateObject("Scripting.Dictionary")
arr() = inputrange.Value
For i = 1 To UBound(arr)
If arr(i, 1) = match Then
d(arr(i, 2)) = 1
End If
Next i
For Each v In d.Keys()
result = result & v & ","
Next v
result = Left(result, Len(result) - 1)
mylookup = result
End Function
Çok iyi bir işlevi VBA'da doğru yazılmış bir fonksiyona sahip olmam ve ardından formülü doğru yapmamam olabilir. Bunun için önerilen kullanıcı = bakış açım (A1: A7, B2)