• DİKKAT

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

Sayfa Atama

Katılım
21 Ekim 2008
Mesajlar
2,323
Excel Vers. ve Dili
Office 2013 - Eng
Arkadaslar set komutu ile sayfayi atamak istiyorum fakat sayfa ayni workbook icinde degil..

C:\Documents and Settings\MUSTAFA\Desktop\deneme2.xls yolundan freights adli calisma sayfasini

set s1 = gibisinde nasil atayabilirim acaba ?
 
Arkadaslar set komutu ile sayfayi atamak istiyorum fakat sayfa ayni workbook icinde degil..

C:\Documents and Settings\MUSTAFA\Desktop\deneme2.xls yolundan freights adli calisma sayfasini

set s1 = gibisinde nasil atayabilirim acaba ?
Aşağıdakini deneyiniz.:cool:
olmazsa workbooks yerine workbook yazarak deneyin.
Kod:
dim s1 as worksheet
set s1 =workbooks("C:\Documents and Settings\MUSTAFA\Desktop\deneme2.xls").sheets("freights")
 
her iki turlude calismadi kodlar :(
Evet önce dosyayı açmak gerekiyor.
Önce dosyayı açıp sonra set etmek gerekiyor.
Kod:
Dim s1 As Worksheet
Workbooks.Open ("C:\Documents and Settings\MUSTAFA\Desktop\deneme2.xls")
Set s1 = Sheets("freights")
 
mantik hatasi yapiyor olmaliyim; amacim freights sayfasini workbooktan ayirmak ve s1 seklinde atayip kodlardaki Sheets("freights") yazan yerleri s1 yapmaktir yardiminizi rica ediyorum.

Ayrica bu sekilde bir calisma var elimde takdim edeyim..

Kod:
workbooks.open "C:\Documents and Settings\MUSTAFA\Desktop\freights.xls" ' Kitap açılır
set kitap=activeworkbook ' Kitap bir değişkene tanımlanır
kitap.visible=false ' Kitabın görünmemesi isteniyorsa gizlenir
set s1 = kitap.sheets("freights") ' Sayfa set ile tanımlanır, arka planda halen açık durumdadır.
'.....
'...... Diğer işlem yapılması istenen kodlar yazılır.
kitap.close true ' Kitap kaydedilerek kapatılır.
kitap.close false ' Kitap kaydedilmeden kapatılır.
set s1 = nothing ' Hafızadaki s1 değişkeninin taşıdığı değer boşaltılır.
set kitap = nothing ' Hafızadaki kitap değişkeninin taşıdığı değer boşaltılır.
 

Ekli dosyalar

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo dip
Set referans = [h4]

Workbooks.Open "C:\Documents and Settings\MUSTAFA\Desktop\freights.xlsx" ' Kitap aç?l?r
Set kitap = ActiveWorkbook ' Kitap bir degiskene tanimlanir
kitap.Visible = False ' Kitabin görünmemesi isteniyorsa gizlenir
Set s1 = kitap.Sheets("freights") ' Sayfa set ile tanimlanir, arka planda halen açik durumdadir.
kitap.Close False ' Kitap kaydedilmeden kapatilir.


If Intersect(Target, referans) Is Nothing Then Exit Sub
[c11] = "MESSRS:" & " " & "`" & Application.WorksheetFunction.VLookup(referans, s1.Range("a:J"), 10, 0) & "`"
[c11].Font.Bold = True
[c11].Characters(Start:=1, Length:=8).Font.FontStyle = Bold

[c4] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:b"), 2, 0)

[g5] = "DUE DATE:" & " " & Format(Application.WorksheetFunction.VLookup(referans, s1.Range("a:K"), 11, 0), "dd.mm.yyyy")
[g5].Font.Bold = True
[g5].Characters(Start:=1, Length:=9).Font.FontStyle = Bold

[c16] = "M/T" & " " & Application.WorksheetFunction.VLookup(referans, s1.Range("a:C"), 3, 0)
[c16].Font.Bold = True
[c16].Characters(Start:=1, Length:=4).Font.FontStyle = Bold

[E16] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:F"), 6, 0) & " - " & Application.WorksheetFunction.VLookup(referans, s1.Range("a:G"), 7, 0)

[c18] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:H"), 8, 0)
[c18].Font.Bold = True


[d18] = "MTS       " & Application.WorksheetFunction.VLookup(referans, s1.Range("a:I"), 9, 0)
[d18].Font.Bold = True
[d18].Characters(Start:=1, Length:=4).Font.FontStyle = Bold

[d20] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:E"), 5, 0)
[d20].Font.Bold = True

[c24] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:D"), 4, 0)

[c26] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:H"), 8, 0)

[e28] = Application.WorksheetFunction.VLookup(referans, s1.Range("a:L"), 12, 0)


If Range("c24") = "DEMURRAGE" Then
Range("C26") = "DEMURRAGE"
Range("C24:D24").ClearContents
Range("D26:F26").ClearContents
Else
[D26] = "MTS X USD"
If WorksheetFunction.CountIf(Range("L:L"), [E16]) <> 0 Then
[E26] = Application.WorksheetFunction.VLookup([E16], Range("L:M"), 2, 0)
[f26] = "PMT"
Else
Range("e26:f26").ClearContents
MsgBox [E26] & "Boyle Bir Sefer Yok!!"
End If
End If

Set s1 = Nothing ' Hafizadaki s1 degiskeninin tasidigi deger bosaltilir.
Set kitap = Nothing ' Hafizadaki kitap degiskeninin tasidigi deger bosaltilir.

Exit Sub
dip:
MsgBox "Hatali Giris, Yaptiniz!", vbInformation, "Ferit Bey Oooop!"
End Sub

Bu sekilde yaziyorum ben ve hatali giris yaptiniz mesaji geliyor ve freights adini verdigim workbook acik oluyor onumde.
 
Selamlar,

Kullandığınız kodun en başında bulunan "On Error GoTo dip" satırını silin ve kodu çalıştırın. Hata verdiğinde size sarı renkle uyaracaktır. Hata veren satırı buraya yazın. Ona göre çözüm üretelim.
 
Geri
Üst