- 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ü

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 |
