Formül Düzeltme

Katılım
4 Mayıs 2023
Mesajlar
1
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2304 Derleme 16.0.16327.20200) 64 bit
Arkadaşlar merhaba, Korhan hocanın bir makro formülünü düzenledim ama eklemek istediklerim var bir türlü yapamadım başlangıç seviyesinde olmamdan kaynaklı desteklerinizi rica ediyorum.

Düzenlemeye çalıştığım alanlar
Product ve Plano Sayfa verilerini birbirlerinin altına getirmek.
Product Hücre başlangıçı "[" Başlatmak
Product Hücre Sonu ":True]"(son product sonrasını bu şekilde kapatmak ) resimde mevcut.

Çok Teşekkürler.

Örnek Ekran Görüntüsü

Sub Listele()
Dim S1 As Worksheet, Veri As Variant, Dizi As Object, X As Long
Dim Son As Long, Sutun As Integer, Say As Long, Zaman As Double

Zaman = Timer

Application.ScreenUpdating = False

Set S1 = Sheets("Sayfa1")
Set Dizi = CreateObject("Scripting.Dictionary")

Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
Veri = S1.Range("A2:C" & Son).Value2

S1.Range("D:" & Replace(Cells(1, Columns.Count).Address(0, 0), 1, "")).Clear

ReDim Liste(1 To UBound(Veri), 1 To 3)

For X = LBound(Veri) To UBound(Veri)
If Not Dizi.Exists(Veri(X, 2)) Then
Say = Say + 1
Dizi.Add Veri(X, 2), Say
Liste(Say, 1) = Veri(X, 3)
Liste(Say, 2) = Veri(X, 2)
Liste(Say, 3) = Veri(X, 1)
Else
Liste(Dizi.Item(Veri(X, 2)), 3) = Liste(Dizi.Item(Veri(X, 2)), 3) & ":True," & Veri(X, 1)
End If
Next

If Say > 0 Then
S1.Range("E2").Resize(Say, 3) = Liste
S1.Range("F2").Resize(Say).TextToColumns Tab:=True, OtherChar:=":True,"
Sutun = S1.Cells.Find("*", LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
With S1.Range("E1")
.Value = "Plano"
.Font.Bold = True
.HorizontalAlignment = xlCenter
End With
With S1.Range("F1")
.Value = "Product"
.Font.Bold = True
.HorizontalAlignment = xlCenter

End With
End If

Set S1 = Nothing
Set Dizi = Nothing

Application.ScreenUpdating = True

MsgBox "Yükleme Tamamlandı.." & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub

 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,679
Excel Vers. ve Dili
Microsoft 365 Tr-64
Kodları düzeltmesi kolay.
Ancak ekran görüntüsündeki hücrelerle kodlardaki hücre aralıkları örtüştüremedim.
Ekran görüntünde A2:Bxx aralığında verileriniz var. Kodlarda ise A2:Cxx aralığını diziye almaya çalışmışsınız.

Ve bunları Plano Product başlıklarının altına yazıyorsunuz diye görüyorum.
Kodlarınızı biraz karıştırmışsınız.

Verilerinizin ham halini ve sonuçları hangi aralıkda görmek istediğinizi belirterek yeniden paylaşır mısınız?

İki de sorum var
1. Bir Plano ya ait sadece bir product varsa da sonuç kısmında yine de [Product1:True] şeklinde mi görmek isteyeceksiniz?

2. Listede aynı plano ve aynı product no 2 satırda da varsa sadece birini mi alacağız.

satır 5
Product11 Plano5

Satır 11
Product11 Planı5
 
Üst