cavanoos
Altın Üye
- Katılım
- 17 Aralık 2008
- Mesajlar
- 757
- Excel Vers. ve Dili
- Microsoft 365
- Altın Üyelik Bitiş Tarihi
- 11-01-2026
Merhaba arkadaşlar;
Ekli dosyamda L2 hücresinde KİR yazıyor ve bunun için KİRA makrosunu çalıştırıyorum.
L3 hücresinde ELK yazıyor ve bunun içinde ELEKTRİK makrosunu çalıştırıyorum.
Bu listem böyle uzayıp gidiyor ve her bir satıra geldiğimde hücre değerine göre makro çalıştırıyorum.
Bu işlemi bir döngüye tabi tutarak her satırda makro çalıştırmak yerine tek bir makro ile nasıl yapabilirim.
Bunun çözümünü arıyorum.
Ekli dosyamda üç adet örnek fatura satırı var.
C sütunundaki fatura numarası değişince L sütunundaki hücre değerine göre makro çalışıyor.
Fakat sadece ilk satırdaki fatura için çalışıyor, devamı gelmiyor.
Ekli dosyamda kullandığım kod adı ÇALIŞTIR
Kodun içeriği alttadır, yardım edebilir misiniz ?
Sub Calıştır()
Dim i As Long
Dim lastRow As Long
' Son satırı bul
lastRow = Cells(Rows.Count, 3).End(xlUp).Row
' Her bir satırı kontrol et
For i = 2 To lastRow
' Fatura numarası değişmişse
If Cells(i, 3).Value <> Cells(i - 1, 3).Value And Cells(i, 3).Value <> "" Then
' L sütunundaki hücreyi seç
Cells(i, 12).Select
If (ActiveCell.Offset(0, 0) = "KİR") Then
Call Kira
ElseIf (ActiveCell.Offset(0, 0) = "ELK") Then
Call Elektrik
Else
ActiveCell.Offset(0, 0).Select
ActiveCell.FormulaR1C1 = "Tanımlama"
End If
'Döngü kod bloğu sonu
End If
Next
End Sub
Ekli dosyamda L2 hücresinde KİR yazıyor ve bunun için KİRA makrosunu çalıştırıyorum.
L3 hücresinde ELK yazıyor ve bunun içinde ELEKTRİK makrosunu çalıştırıyorum.
Bu listem böyle uzayıp gidiyor ve her bir satıra geldiğimde hücre değerine göre makro çalıştırıyorum.
Bu işlemi bir döngüye tabi tutarak her satırda makro çalıştırmak yerine tek bir makro ile nasıl yapabilirim.
Bunun çözümünü arıyorum.
Ekli dosyamda üç adet örnek fatura satırı var.
C sütunundaki fatura numarası değişince L sütunundaki hücre değerine göre makro çalışıyor.
Fakat sadece ilk satırdaki fatura için çalışıyor, devamı gelmiyor.
Ekli dosyamda kullandığım kod adı ÇALIŞTIR
Kodun içeriği alttadır, yardım edebilir misiniz ?
Sub Calıştır()
Dim i As Long
Dim lastRow As Long
' Son satırı bul
lastRow = Cells(Rows.Count, 3).End(xlUp).Row
' Her bir satırı kontrol et
For i = 2 To lastRow
' Fatura numarası değişmişse
If Cells(i, 3).Value <> Cells(i - 1, 3).Value And Cells(i, 3).Value <> "" Then
' L sütunundaki hücreyi seç
Cells(i, 12).Select
If (ActiveCell.Offset(0, 0) = "KİR") Then
Call Kira
ElseIf (ActiveCell.Offset(0, 0) = "ELK") Then
Call Elektrik
Else
ActiveCell.Offset(0, 0).Select
ActiveCell.FormulaR1C1 = "Tanımlama"
End If
'Döngü kod bloğu sonu
End If
Next
End Sub
Ekli dosyalar
-
30 KB Görüntüleme: 6