Merhaba,
Aşağıdaki kodlar çalışıyor fakat userform üzerindeki label bilgileri güncellenmiyor. Sayfayı aşağı indirip açtığımda veya işlem yapılırken userforma tıkladığımda labellara yazılması gerekenler görünüyor.
Private Sub UserForm_Activate()
BirimFiyatBekleme.Caption = "Birim Fiyat Hesaplama"
lblIslem.Caption = " Sıralama Yapılıyor..."
'On Error Resume Next
sonsatir = Sheets("Malzeme").[A100000].End(3).Row
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Add Key:=Range("L2:L" & sonsatir _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Add Key:=Range("C2:C" & sonsatir _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Add Key:=Range("K2:K" & sonsatir _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Malzeme").Sort
.SetRange Range("A1:L" & sonsatir)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=3
sonsatir = Sheets("Malzeme").[M100000].End(3).Row
Sheets("Malzeme").Range("M2:M" & sonsatir) = ""
'Kategori hücresi boş olan satırlar siliniyor'
lblIslem.Caption = " Boş Satırlar Siliniyor"
For sil = 2 To Sheets("Malzeme").[I100000].End(3).Row
son = Sheets("Malzeme").[I100000].End(3).Row
hucre = Sheets("Malzeme").Cells(sil, "L")
If hucre = "" And sil <= son Then
Sheets("Malzeme").Rows(sil).Delete
sil = sil - 1
End If
Next sil
'Birim Bedelleri Hesaplanıyor'
For i = 2 To Sheets("Malzeme").[A100000].End(3).Row
SatirSayisi = Sheets("Malzeme").[A100000].End(3).Row - 1
lblIslem.Caption = " Birim Fiyat Hesaplamaları Yapılıyor..."
lblIslemBilgi.Caption = "Toplam Kayıt Sayısı : " & SatirSayisi
tipi = Sheets("Malzeme").Cells(i, "C")
If Sheets("Malzeme").Cells(i, "L") = "PE BORU" Then
If tipi Like "*Ø020*" Or tipi Like "*Ø032*" Or tipi Like "*Ø20*" Or tipi Like "*Ø32*" Then
Sheets("Malzeme").Cells(i, "N") = "Evet"
Else
Sheets("Malzeme").Cells(i, "N") = "Hayır"
End If
Else
Sheets("Malzeme").Cells(i, "N") = "Hayır"
End If
netDeger = Sheets("Malzeme").Cells(i, "g")
miktar = Sheets("Malzeme").Cells(i, "e")
If netDeger <> "" And miktar <> "" Then
birimBedeli = netDeger / miktar
Sheets("Malzeme").Cells(i, "M") = birimBedeli
ElseIf netDeger = "" Or miktar = "" Then
Sheets("Malzeme").Cells(i, "M") = ""
End If
If SatirSayisi > 1 Then
prgbIslem.Value = ((i - 1) / SatirSayisi) * 100
lblIslemSayi.Caption = Format(prgbIslem.Value, "% 00")
End If
Next i
Unload BirimFiyatBekleme
cevap = MsgBox("Malzeme Birim Fiyatları Hesaplandı. Ana Sayfaya Dönmek İstiyormusunuz?", vbYesNo, "İşlem Onayı")
If cevap = vbYes Then
Sheets("Malzeme").Visible = False
MainForm.Show
End If
End Sub
Aşağıdaki kodlar çalışıyor fakat userform üzerindeki label bilgileri güncellenmiyor. Sayfayı aşağı indirip açtığımda veya işlem yapılırken userforma tıkladığımda labellara yazılması gerekenler görünüyor.
Private Sub UserForm_Activate()
BirimFiyatBekleme.Caption = "Birim Fiyat Hesaplama"
lblIslem.Caption = " Sıralama Yapılıyor..."
'On Error Resume Next
sonsatir = Sheets("Malzeme").[A100000].End(3).Row
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Add Key:=Range("L2:L" & sonsatir _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Add Key:=Range("C2:C" & sonsatir _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Malzeme").Sort.SortFields.Add Key:=Range("K2:K" & sonsatir _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Malzeme").Sort
.SetRange Range("A1:L" & sonsatir)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=3
sonsatir = Sheets("Malzeme").[M100000].End(3).Row
Sheets("Malzeme").Range("M2:M" & sonsatir) = ""
'Kategori hücresi boş olan satırlar siliniyor'
lblIslem.Caption = " Boş Satırlar Siliniyor"
For sil = 2 To Sheets("Malzeme").[I100000].End(3).Row
son = Sheets("Malzeme").[I100000].End(3).Row
hucre = Sheets("Malzeme").Cells(sil, "L")
If hucre = "" And sil <= son Then
Sheets("Malzeme").Rows(sil).Delete
sil = sil - 1
End If
Next sil
'Birim Bedelleri Hesaplanıyor'
For i = 2 To Sheets("Malzeme").[A100000].End(3).Row
SatirSayisi = Sheets("Malzeme").[A100000].End(3).Row - 1
lblIslem.Caption = " Birim Fiyat Hesaplamaları Yapılıyor..."
lblIslemBilgi.Caption = "Toplam Kayıt Sayısı : " & SatirSayisi
tipi = Sheets("Malzeme").Cells(i, "C")
If Sheets("Malzeme").Cells(i, "L") = "PE BORU" Then
If tipi Like "*Ø020*" Or tipi Like "*Ø032*" Or tipi Like "*Ø20*" Or tipi Like "*Ø32*" Then
Sheets("Malzeme").Cells(i, "N") = "Evet"
Else
Sheets("Malzeme").Cells(i, "N") = "Hayır"
End If
Else
Sheets("Malzeme").Cells(i, "N") = "Hayır"
End If
netDeger = Sheets("Malzeme").Cells(i, "g")
miktar = Sheets("Malzeme").Cells(i, "e")
If netDeger <> "" And miktar <> "" Then
birimBedeli = netDeger / miktar
Sheets("Malzeme").Cells(i, "M") = birimBedeli
ElseIf netDeger = "" Or miktar = "" Then
Sheets("Malzeme").Cells(i, "M") = ""
End If
If SatirSayisi > 1 Then
prgbIslem.Value = ((i - 1) / SatirSayisi) * 100
lblIslemSayi.Caption = Format(prgbIslem.Value, "% 00")
End If
Next i
Unload BirimFiyatBekleme
cevap = MsgBox("Malzeme Birim Fiyatları Hesaplandı. Ana Sayfaya Dönmek İstiyormusunuz?", vbYesNo, "İşlem Onayı")
If cevap = vbYes Then
Sheets("Malzeme").Visible = False
MainForm.Show
End If
End Sub
