• DİKKAT

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

makronun static çalışması

  • Konbuyu başlatan Konbuyu başlatan torik52
  • Başlangıç tarihi Başlangıç tarihi
Merhaba.

Örnek belgenizde yer alan açıklama pek net değil ama yanlış anlamıyorsam;
-- A1 hücresine elle veri girişi yapmıyorsunuz,
-- A1 hücresinde bir formül var ve bu formül sonucu değiştiğinde; kod'un,
B sütunundaki eski verileri bir alta kaydırıp, yeni sonucu B1 hücresine yazmasını istiyorsunuz.

Aslında A1 hücresindeki formülü paylaşsanız daha doğru olurdu ama;
isteğiniz bu ise mevcut kod'u silip onun yerine;
-- A1 hücresindeki formül başka sayfadaki hücrelere atıf yapıyorsa mavi,
-- A1 hücresindeki formül sadece bu sayfadaki hücrelere atıf yapıyorsa kırmızı
renklendirdiğim kod'u kullanarak istediğinizin olması gerekir.
.
Kod:
[COLOR="Blue"][B]Private Sub Worksheet_Calculate()[/B]
If Sheets("[B]Sayfa1[/B]").[B1] = "" Or Sheets("[B][COLOR="Black"]Sayfa1[/COLOR][/B]").[A1] = Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1] Then Exit Sub
    If Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1] <> Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[A1] Then
        Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1].Insert Shift:=xlDown: Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1] = Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[A1]
    End If
[B]End Sub[/B][/COLOR]

[COLOR="Red"][B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
If [B1] = "" Or [A1] = [B1] Then Exit Sub
    If [B1] <> [A1] Then
        [B1].Insert Shift:=xlDown: [B1] = [A1]
    End If
[B]End Sub[/B][/COLOR]
 
Merhaba.

Örnek belgenizde yer alan açıklama pek net değil ama yanlış anlamıyorsam;
-- A1 hücresine elle veri girişi yapmıyorsunuz,
-- A1 hücresinde bir formül var ve bu formül sonucu değiştiğinde; kod'un,
B sütunundaki eski verileri bir alta kaydırıp, yeni sonucu B1 hücresine yazmasını istiyorsunuz.

Aslında A1 hücresindeki formülü paylaşsanız daha doğru olurdu ama;
isteğiniz bu ise mevcut kod'u silip onun yerine;
-- A1 hücresindeki formül başka sayfadaki hücrelere atıf yapıyorsa mavi,
-- A1 hücresindeki formül sadece bu sayfadaki hücrelere atıf yapıyorsa kırmızı
renklendirdiğim kod'u kullanarak istediğinizin olması gerekir.
.
Kod:
[COLOR="Blue"][B]Private Sub Worksheet_Calculate()[/B]
If Sheets("[B]Sayfa1[/B]").[B1] = "" Or Sheets("[B][COLOR="Black"]Sayfa1[/COLOR][/B]").[A1] = Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1] Then Exit Sub
    If Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1] <> Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[A1] Then
        Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1].Insert Shift:=xlDown: Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[B1] = Sheets("[B][COLOR="black"]Sayfa1[/COLOR][/B]").[A1]
    End If
[B]End Sub[/B][/COLOR]

[COLOR="Red"][B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
If [B1] = "" Or [A1] = [B1] Then Exit Sub
    If [B1] <> [A1] Then
        [B1].Insert Shift:=xlDown: [B1] = [A1]
    End If
[B]End Sub[/B][/COLOR]
sn baran a hücresi dde sunucudan devamlı değişen veri alıyor kodunuz işimi görmedi yalnız bu aşşağıda bir kod var bu güzel çalışıyor aşşağıdaki kodu yuakrdakine monteleyebilirmisiniz teşekkür ederim
hücre değince makro çalışır

Private Sub Worksheet_Change(ByVal Target As Range)
Static deger
If deger <> emtpy Then
If deger <> Range("a1").Value Then Call kendi makronu yaz
End If
deger = Range("a1")
End Sub
 
İsterseniz bir de kırmızı renklendirdiğim kod'un başındaki
Private Sub Worksheet_Change(ByVal Target As Range)
kısmını
Private Sub Worksheet_Calculate()
şeklinde değiştirerek deneyin.
.
 
İsterseniz bir de kırmızı renklendirdiğim kod'un başındaki
Private Sub Worksheet_Change(ByVal Target As Range)
kısmını
Private Sub Worksheet_Calculate()
şeklinde değiştirerek deneyin.
.
malesef olmadı sn baran emeğinize teşekkir ederim.
 
Geri
Üst