• DİKKAT

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

Serverdaki bilgisayar isminin otomatik alınması

  • Konbuyu başlatan Konbuyu başlatan Amaxx
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Merhaba arkadaşlar, aşağıdaki kodu başka bir konuyu takip ederek soruyu sormuştum ama cevap alamadım

bahsi geçen link;
http://www.excel.web.tr/f48/kullan-c-ad-n-hucreye-yazd-rmak-t66525.html


Amaç: Serverda bulunan excel dosyasını severdan biri açıp A hücresinin hwerhangi bir satırında değişiklik yaptığında o hücrenin sağında (H hücresinde) değişiklik yapan bilgisayarın adının yazılması ve silinememesini istiyorum.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
deg = Split(Environ(28), "=")
Cells(Target.Row, "H") = deg(1)
End Sub

Bu kodu benim dosyama uyguladım ama benim server' daki diğer bilgisayarların ismini alamadı...sadece ben kendi bilgisayarımda değişiklik yaptığımda benim adımı yazıyor (c:/doc.. and sett/m.koyuncu şeklinde) diğerlerinde (serverdaki diğer bilgisayarlardan açınp kaydedince) ise "Windows" veya "Server Grup" adını yazıyor? Yukarıdaki kodun açıklamasını bilmediğim için kendime göre yorum yapamadım.
 
Son düzenleme:
Merhaba,

Emin değilim ama aşağıdaki kodları dener misiniz? Tabi doğal olarak dosya açıldığında makroların etkinleştirilmesi gerekir.

Kodlar ilgili sayfanın kod bölümünde olmalı.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
Target.Offset(0, 7) = Environ("ComputerName")
Son:
End Sub
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Target.Column = 8 Then Target.Offset(0, 1).Select
Son:
End Sub
 
Necdet bey teşekkür ederim yardımınız için yazdığınız kodu denedim, açaıklayım;

Serverda 20 bilgisayar var ve Bu bilgisayarlar AD SOYAD (BİLG. KOD NO) şeklinde isimlendirilmiş.
Sizin yazdığınız kodu uygulayıp birkaç bilgisayarda denememle şöyle birşey oldu;
benim ve bazı bilgisayarların adını BİLG. KOD NO olarak yazdı
bazı bilgisayarların ise AD PC olarak yazdı
 
Merhaba,

Networkte her bilgisiyarın bir adı vardır, bu adlandırmayı da bilgi işlemciler yapar.
Eğer düzenli bir adlandırma yapılmadıysa garip sonuçlar almanız doğaldır.
 
Günaydın Necdet bey, Serverda Tüm Ağ dan baktığımda bilgisayar isimleri düzenli görünüyor yani "Ad, Soyad, Kod No"

Ama her bilgisayarın özelllikler kısmına baktığımda bilgisayar adları dediğiniz gibi karışık görünüyor..

Tekrar teşekkürler...
 
Merhaba,

Bilgisayar adı yerine kullanıcı adını da alabilirsiniz. Yukarıdaki Environ("ComputerName") yerine Environ("UserName") kullanabilirsiniz.
 
Tekrar Merhaba,

Aşağıdaki kodları buradaki değerli hocalarım sayesinde yazmıştım. Ama şimdi küçük bir sorunum var. Aşağıdaki Koddan

If Intersect(Target, [F:H]) Is Nothing Then Exit Sub

satırını [F:F] yazdığımız zaman sorun yok bilgisayar adlarını K sütununa yazıyor. Ama ben F:H diye değiştirdiğimde bu stunlarından en az birinde değişiklik yaptığımda bilgisayar adlarını K L M (7,8,9 sütunlarına) sütunlarına yazıyor.... Bunları sadece K sütununa nasıl yazdırabiliriz?

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F:H]) Is Nothing Then Exit Sub
Target.Offset(0, 7) = Environ("ComputerName")
Son:
End Sub
 
Son düzenleme:
Merhaba,

Kod:
Cells(Target.Row, "K") = Environ("ComputerName")
yada

Kod:
Range("K" & Target.Row) = Environ("ComputerName")
 
Teşekkürler Necdet Bey, Elinize Sağlık
 
Geri
Üst