• DİKKAT

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

Makrolu dosya makrosuz açılır mı?

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı geceler.

Arkadaşlarla kullandığımız ortak ağ'da makrolu excel dosyamız bulunmaktadır, arkadaşlar makro ile hep sıkıntı yaşadığı için sürekli sorun oluşturuyorlar.

Bilgisayar adım ASLAN, eğer bilgisayar adı ASLAN ise dosya makrolu olarak açılsın, değilse makrosuz açılsın.

Bu şekilde bir çalışma olabilir mi? Bu konuda yardımcı olur musunuz?
 
Makrolu , makrosuz açılması yerine, kodlarınızda
Environ("username")

özelliğinden yararlanabilirsiniz.
Örnek:
if Environ("username")="ASLAN" Then
Call macroismi
else
Exit Sub
End if


veya

if Environ("username")<>"ASLAN" then Exit Sub
gibi.
Tabii ki, dosyanızın bütünlüğü ve yapısına uygun olabilecek başka kontroller de yapılması mümkün.
Örnek dosya ile daha farklı cevaplar bulunabilir.
Not:
Bu kontrollerin yapılabilmesi için zaten dosyanın "Makro" kodu içermesi zorunlu.
 
Son düzenleme:
Sayın turist ilginiz için çok teşekkür ediyorum.
Ortak kullandığımız bu dosyada 10 tane modülde çeşitli makrolar mevcut, sayfa üzerlerinde de çeşitli butonlar bulunmakta, arkadaşlarımız sayfanın hiç makrosuz olmasını istiyorlar, ama makrolu çalıştırdığımızda çeşitli işlemler daha hızlı oluyor, hesaplamalar daha kolay oluyor.

Yani arkadaşlarımız klasik yöntem istiyorlar, benim istediğim gibi bilgisayar ismi ASLAN ise dosya makrolu yani .xlsm uzantılı açılsın, değilse bütün makroları iptal edip makrosuz yani .xlsx uzantılı olarak açılabilir mi?
 
Saveas yöntemi ile xlsx e çevirebilirsiniz yalnız farklı dosya olmuş olur. Kullanıcı adına bakar eğer ASLAN değilse farklı kaydet ile xlsx olarak kaydeder. Dosya makrosuz olur.
 
Sayın askm, ilginiz için çok teşekkür ediyorum.

Kullanıcı adı ASLAN değilse, dosyayı .xlsx olarak kaydettiği için, ben açtığımda bütün makrolar gitmiş olacak o zaman. Sizin dediğinize göre iki ayrı dosya olmuş oluyor.
 
Evet malesef. Bunun yerine sayın turist in önerdiği şekilde makroları pasif yapmanız daha mantıklı olur. VBA kısmına da şifre koyarsanız onlar makroların farkına varmaz. :)
 
Sayfa üzerinde butonlar mevcut olduğu için yine fark ediyorlar, bütün makroları nasıl pasif edebilirim o zaman?
 
Makroların ilk satırına if Environ("username")<>"ASLAN" Then exit sub ekleyebilirsiniz.
 
Sayın askm, bu daha iyi bi çözüm oldu, Allah razı olsun, fikirleriniz için çok teşekkür ediyorum
 
Sayın turist ilk fikir sizden çıktı, size de ayrıca teşekkür ediyorum, Allah razı olsun.
 
Rica ederim. ALLAH sizden de razı olsun. İyi geceler.
 
Sayfa üzerinde butonlar mevcut olduğu için yine fark ediyorlar, bütün makroları nasıl pasif edebilirim o zaman?
Butonların yerine "Shortcut Key" kullanabilirsiniz.
Butonla çalışan her makroya bunu uygulayıp butonları kaldırmak mümkün, ancak bu "kısayol" ile makroları çalıştırmak için, bütün kısa yolları hatırlamak başka bir mesele.
 
Sayın turist Butonların yerine "Shortcut Key" kullanabilirsiniz. Bu nedir? Nasıl uygulanır? bilmiyorum.
 
Sayın turist her kod'un başına aşağıdaki kodu ekledim bu işimi görecek gibi geliyor bana.

If Environ("UserName")<>"ASLAN" Then Exit Sub
 
Sayın turist kod yazmayı bilemediğim için şimdilik bu kadarı yetiyor, göndermiş olduğunuz videoyu izledim, buton yerine klavye kısayolları ile makro çalıştırılacak, dosyada kodlar fazla olduğu için bu kısayollar işimi iyice zorlaştıracak gibi geliyor.

Şimdilik her kod'un başına If Environ("UserName")<>"ASLAN" Then Exit Sub bu benim işimi görecek gibi geliyor.

İlginiz için çok çok teşekkür ediyorum, hayırlı geceler, hayırlı çalışmalar diliyorum.
 
Sağolun.
İşinizi kolaylaştırdıysa ve yeterli ise tamamdır.
İyi çalışmalar.
 
Merhaba
Şöyle bir şey yapsanız olmaz mı?
makroları tek bir sayfadan çalıştırın bu sayfayı da gizleyin yani makrolar etkin olduğu zaman dosya açıldığında bu sayfa gizlenmesin görünsün dosya kapandığı zaman da bu sayfa gizlensin.

Bu dosyayı kullanan kullanıcının bilgisayarında da makrolar çalışacaksa makrolar etkin olmalı makrolar çalışmayacaksa da makrolar pasif olmalı
 
Sayın Halit Bey ilginiz için çok teşekkür ediyorum, kod bilgim yeterince olmadığı için If Environ("UserName")<>"ASLAN" Then Exit Sub bu kodu her makronun başına eklediğim için istediğim sonuca ulaştım.

Hayırlı sabahlar diliyorum.
 
Geri
Üst