NADİR YILDIZ
Altın Üye
- Katılım
- 7 Ocak 2006
- Mesajlar
- 1,413
- Excel Vers. ve Dili
- 2016 Türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
...listboxa çizgi eklenemiyor diye biliyorum doğrumudur...
Private Sub UserForm_Initialize()
Dim veri, liste, i, ii, say, bb, b, ky, miktar, sut, s, uz
If Selection(1).Value = "" Then Exit Sub
veri = Selection.Value
If Not IsArray(veri) Then ReDim veri(1, 1): veri(1, 1) = Selection.Value
ReDim liste(1 To UBound(veri) + 2, 1 To 1)
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(veri)
For Each bb In Split(veri(i, 1), ",")
b = Split(Trim(bb), " ")
ky = UCase(Trim(b(1)))
miktar = CDbl(Trim(b(0)))
If Not .exists(ky) Then
say = say + 1
.Item(ky) = say
ReDim Preserve liste(1 To UBound(veri) + 2, 1 To say)
liste(2, say) = ky
End If
sut = .Item(ky)
liste(1, sut) = liste(1, sut) + miktar
liste(i + 2, sut) = miktar
Next bb
Next i
End With
For i = 1 To say
s = s & ";" & 30
uz = uz + 32
Next i
For i = 1 To UBound(liste)
For ii = 1 To say
liste(i, ii) = liste(i, ii) & String(10 - Len(liste(i, ii)), "-")
Next ii
Next i
ListBox1.Width = uz + 0
ListBox1.Height = (UBound(veri) + 2) * 12
ListBox1.List = liste
ListBox1.ColumnCount = say
ListBox1.ColumnWidths = Mid(s, 2)
Me.Width = uz + 22
Me.Height = ((UBound(veri) + 2) * 12) + 35
End Sub
Private Sub UserForm_Initialize()
Dim rng, veri, liste, i, ii, say, bb, b, ky, miktar, sut, s, uz
With CreateObject("Scripting.Dictionary")
For Each rng In Range("B5:B" & Cells(Rows.Count, 2).End(3).Row).SpecialCells(xlCellTypeVisible).Areas
If rng.Address = "$B$4" Then Exit Sub
For Each b In rng.Cells
.Item(WorksheetFunction.Trim(b)) = Null
Next b
Next rng
veri = .keys
.RemoveAll
ReDim liste(1 To UBound(veri) + 3, 1 To 1)
For i = 0 To UBound(veri)
For Each bb In Split(veri(i), ",")
b = Split(WorksheetFunction.Trim(bb), " ")
ky = UCase(Trim(b(1)))
miktar = CDbl(Replace(Trim(b(0)), ".", ","))
If Not .exists(ky) Then
say = say + 1
.Item(ky) = say
ReDim Preserve liste(1 To UBound(veri) + 3, 1 To say)
liste(2, say) = ky
End If
sut = .Item(ky)
liste(1, sut) = liste(1, sut) + miktar
liste(i + 3, sut) = miktar
Next bb
Next i
End With
For i = 1 To say
s = s & ";" & 30
uz = uz + 32
Next i
For i = 1 To UBound(liste)
For ii = 1 To say
liste(i, ii) = liste(i, ii) & String(10 - Len(liste(i, ii)), "-")
Next ii
Next i
ListBox1.Width = uz + 0
ListBox1.Height = (UBound(veri) + 3) * 12
ListBox1.List = liste
ListBox1.ColumnCount = say
ListBox1.ColumnWidths = Mid(s, 2)
Me.Width = uz + 22
Me.Height = ((UBound(veri) + 3) * 12) + 35
End Sub
Private Sub UserForm_Initialize()
Dim rng, veri, liste, i, ii, say, bb, b, ky, miktar, sut, s, uz, alan, son
Set alan = Range("B4")
son = Cells(Rows.Count, 2).End(3).Row
With CreateObject("Scripting.Dictionary")
For Each rng In Range("B5:B" & son).SpecialCells(xlCellTypeVisible).Areas
For Each b In rng.Cells
Set alan = Union(alan, b)
Next b
Next rng
Set alan = Intersect(alan, Selection, Range("B5:B" & son))
If alan Is Nothing Then Exit Sub
For Each b In alan.Cells
.Item(WorksheetFunction.Trim(b)) = Null
Next b
veri = .keys
.RemoveAll
ReDim liste(1 To UBound(veri) + 3, 1 To 1)
For i = 0 To UBound(veri)
For Each bb In Split(veri(i), ",")
b = Split(WorksheetFunction.Trim(bb), " ")
ky = UCase(Trim(b(1)))
miktar = CDbl(Replace(Trim(b(0)), ".", ","))
If Not .exists(ky) Then
say = say + 1
.Item(ky) = say
ReDim Preserve liste(1 To UBound(veri) + 3, 1 To say)
liste(2, say) = ky
End If
sut = .Item(ky)
liste(1, sut) = liste(1, sut) + miktar
liste(i + 3, sut) = miktar
Next bb
Next i
End With
For i = 1 To say
s = s & ";" & 30
uz = uz + 32
Next i
For i = 1 To UBound(liste)
For ii = 1 To say
liste(i, ii) = liste(i, ii) & String(10 - Len(liste(i, ii)), "-")
Next ii
Next i
ListBox1.Width = uz + 0
ListBox1.Height = (UBound(veri) + 3) * 12
ListBox1.List = liste
ListBox1.ColumnCount = say
ListBox1.ColumnWidths = Mid(s, 2)
Me.Width = uz + 22
Me.Height = ((UBound(veri) + 3) * 12) + 35
End Sub