• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yakıt Takibi

Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Arkadaşlar EK'teki çalışmanın ThisWorkbook'un da en son ayda Taşı veya Kopyala yaptığımda yeni ayı isimlendiren ve olduğu gibi kopyalayan ve Module 1'in de çalışma sayfasındaki verileri küçük tarihten büyük tarihe sıralayan bir kod mevcut burada "run-time error 1004" hatası almaktayım ve bu sorunu çözme hususunda yardımlarınızı rica ediyorum.
 

Ekli dosyalar

Siz ThisWorkbook da bulunan kodlar ile ne yapmayı amaçlıyorsunuz?
Not: Bundan sonra dosya yüklerken sıkıştırmadan yüklerseniz daha iyi olur.
 
Sayın dalgalikur ilginize teşekkür ederim. Kodlar ile birinci olarak en son ayda Taşı veya Kopyala yaptığımda yeni ayı isimlendirmeye (ŞUBAT ise MART.... vs.) ikinci olarak İCMAL sayfası C3 hücresi belirli bir miktarın altına düştüğünde uyarı verdirmeye çalışıyorum.
 
ThisWorkbook kod sayfasında bulunan bütün kodları silin aşağıdakileri kopyalayın.

Kod:
Option Compare Text

Private Sub Workbook_Activate()
    msj = Range("M1") & " YAKITA İHTİYACINIZ VAR"
    If Range("C3") < 750 Then MsgBox msj
End Sub
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Dim i(0) As String
    Dim Sayfa As Worksheet
    Dim Bak As Byte
    Dim EnSonAy As Byte
    For Each Sayfa In Sheets
        For Bak = 1 To 12
            If Sayfa.Name = MonthName(Bak) Then
                If EnSonAy < Bak Then EnSonAy = Bak
                Exit For
            End If
        Next
    Next
    If EnSonAy = 12 Then
        MsgBox "Bütün aylar zaten mevcut. Yeni ay adı verilemiyor.", vbExclamation
        Exit Sub
    End If
    Sh.Name = UCase(MonthName(EnSonAy + 1))
    Sh.Move after:=Sheets(Sheets.Count)
End Sub
 
Sayın dalgalikur yeni ayı oluştururken boş bir safa oluşturuyor. Rica etsem, olduğu gibi kopyalanmasını sağlamak mümkün mü?
 
O zaman kodları aşağıdakiler ile değiştirin.

Kod:
Option Compare Text
Option Explicit

Dim OncekiSayfa As Worksheet

Private Sub Workbook_Activate()
    Dim msj As String
    msj = Range("M1") & " YAKITA İHTİYACINIZ VAR"
    If Range("C3") < 750 Then MsgBox msj
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
   
    Dim Sayfa As Worksheet
    Dim Bak As Byte
    Dim EnSonAy As Byte
    For Each Sayfa In Sheets
        For Bak = 1 To 12
            If Sayfa.Name = MonthName(Bak) Then
                If EnSonAy < Bak Then EnSonAy = Bak
                Exit For
            End If
        Next
    Next
    If EnSonAy = 12 Then
        MsgBox "Bütün aylar zaten mevcut. Yeni ay adı verilemiyor.", vbExclamation
        Exit Sub
    End If
    Sh.Name = UCase(MonthName(EnSonAy + 1))
    Sh.Move after:=Sheets(Sheets.Count)
    OncekiSayfa.Cells.Copy Sh.Range("A1")
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Set OncekiSayfa = Sh
End Sub
 
Son düzenleme:
Arkadaşlar Module 1'in de çalışma sayfasındaki verileri küçük tarihten büyük tarihe sıralayan bir kod mevcut burada "run-time error 1004" hatası almaktayım ve bu sorunu çözme hususunda yardımlarınızı rica ediyorum.
 

Ekli dosyalar

Şu kodu kullanın.

Kod:
Sub Makro1()
    With ActiveWorkbook.ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("B2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range("B3:I300")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Makro 300. satırda işlem yapıyor ama dosyada 299 ve 300. satırı göremiyoruz. O satırda birleştirme gibi bir durum olabilir.
 
Sayın YUSUF44 ilginize teşekkür ederim.
 
Son düzenleme:
Yusuf Bey kodu uyguladığımda problem çözülüyor, fakat İCMAL sayfası karışıyor buna bir çözüm rica edebilir miyim.
 

Ekli dosyalar

Ben herhangi bir kod vermemiştim. Sayın dalgalıkur'un verdiği kodda sıralamayı 3. satırdan itibaren yaptığı için dosyanız karışmış olabilir. B3 yerine B7 kullanırsanız sorun çözülür muhtemelen.

Yalnız benim merak ettiğim dün 299. satırdan bugün de 41. satırdan itibaren satırları nasıl gizlediniz? Geri nasıl açılıyor? Bir türlü bulamadım.
 
Ben herhangi bir kod vermemiştim. Sayın dalgalıkur'un verdiği kodda sıralamayı 3. satırdan itibaren yaptığı için dosyanız karışmış olabilir. B3 yerine B7 kullanırsanız sorun çözülür muhtemelen.

Yalnız benim merak ettiğim dün 299. satırdan bugün de 41. satırdan itibaren satırları nasıl gizlediniz? Geri nasıl açılıyor? Bir türlü bulamadım.

Sayın @YUSUF44 siz "İCMAL" adlı sayfadan bahsediyorsunuz ancak konu ay isimlerine ait sayfalar ile ilgili. Onun için "B3" ten başlamalı.

Sayın @iplikci_80 İCMAL sayfasında sadece 40 satır var bu sınırlamayı nasıl yapıyorsunuz? Bunu bende merak ettim.
 
Geri
Üst