Makro kodunda değişken range değeri

Katılım
7 Şubat 2009
Mesajlar
94
Excel Vers. ve Dili
2003 ingilizce
Merhaba;

1) Sürekli değişen rangelerde aşağıdaki formülü nasıl değiştirmeliyim ki sürekli yeni eklenen rangelere göre davransın?

a2, b2, ve c2 formul içeriyor, burada çift tıklandığında 8155. satıra kadar iniyor ancak bir sonraki sefer kod çalıştığında range a2:c10000 olabilmesi için..

Range("A2:C2").Select
Selection.AutoFill Destination:=Range("A2:C8155")
-----------------------------
Bu farklı bir sorunum;

Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="Alan", RefersToR1C1:="=data!R1C1:R8155C9"



2) Diyelimki makro ile farklı bir çalışma sayfasını açtırıyorum ve bundaki tüm bilgileri kopyalayıp, kendi çalıştığım sayfaya kaydediyorum, ve sonra diğer dosyayı kapatıyorum. Office bu kopyaladığım datayı clipboarduna kopyaladığı için dosyayı kapatmadan, clipboardda kalsın mı kalmasın mı diye sorguluyor bu sorguyu nasıl kapatabilirim?

Workbooks.Open ("Liste\Güncel.xls")
Windows("deneme.xls").Activate
Range("C2").FormulaR1C1 = "=VLOOKUP(RC[2],ayar!C[-2]:C[-1],2,0)"
Range("B2").FormulaR1C1 = "=VLOOKUP(RC[2],[Güncel.xls]Sheet1!C2:C8,7,0)"
Range("A2").FormulaR1C1 = "=VLOOKUP(RC[3],[Güncel.xls]Sheet1!C2:C7,6,0)"
Range("A2:C2").Select
Selection.AutoFill Destination:=Range("A2:C8155")
Range("A2:C8155").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Windows("Güncel.xls").Activate
ActiveWindow.Close (0)

işte bu adımdan sonra çıkmakta sorgu ekranı...


3) External data çeken bir veride makro ile refresh nasıl yaptırılır?kodu nedir?


şimdiden teşekkür ederim...
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,855
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Böyle denermisiniz.

Selection.AutoFill Destination:=Range("A2:C" & Cells(Rows.Count, "A").End(3).Row)

ActiveWorkbook.Names.Add Name:="Alan", RefersToR1C1:="=data!R1C1:R" & Cells(Rows.Count, "A").End(3).Row & "C9"
A sütunundaki son değere göre kod çalışıyor
 
Katılım
7 Şubat 2009
Mesajlar
94
Excel Vers. ve Dili
2003 ingilizce
Böyle denermisiniz.



A sütunundaki son değere göre kod çalışıyor
Evet haklısınız doğru çalışıyor sadece a sütunu boş olduğundan onu c sütünu olarak değiştirdim, çok teşekkürler.

Diğer sorularımla ilgili hala yardımlarınıza ihtiyacım var.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,855
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
ikinci soruda
kodun başlangıcına ve sonuna

aşağıdaki koalrı ekleyiniz.

Application.ScreenUpdating = False'kodun başına
Application.ScreenUpdating = True'kodun sonuna
 
Katılım
7 Şubat 2009
Mesajlar
94
Excel Vers. ve Dili
2003 ingilizce
ikinci soruda
kodun başlangıcına ve sonuna

aşağıdaki koalrı ekleyiniz.
Private Sub Workbook_Open()
Set s1 = Sheets("Sheet1")
Set alan3 = s1.Range("B2:B65000")
Cells.Select
Selection.Delete shift:=xlUp
Range("j1") = ThisWorkbook.Path
Range("g1") = "\"
Range("h1").FormulaR1C1 = "=RC[2]&RC[-1]"
MyPath = s1.Range("h1")
MyName = Dir(MyPath, vbNormal)
X = 2
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
If (GetAttr(MyPath & MyName) And vbNormal) = vbNormal Then
Cells(X, 2).Value = MyName
End If
End If
MyName = Dir
X = X + 1
Loop

Range("C2").FormulaR1C1 = "=VALUE(LEFT(RC[-1],2))"
Range("D2").FormulaR1C1 = "=VALUE(MID(RC[-2],4,2))"
Range("E2").FormulaR1C1 = "=VALUE(RIGHT(LEFT(RC[-3],10),4))"

Range("C2:E2").Select
Selection.AutoFill Destination:=Range("C2:E50")
Range("C2:E50").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("E2"), Order1:=xlDescending, Key2:=Range("D2") _
, Order2:=xlDescending, Key3:=Range("C2"), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
, DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortTextAsNumbers, _
DataOption3:=xlSortTextAsNumbers
Rows("2:2").Select
Selection.Delete shift:=xlUp

Range("M1").FormulaR1C1 = "=RC[-5]&R[1]C[-11]"
Workbooks.Open (Range("m1"))
Windows("Güncel.xls").Activate
Cells.Select
Application.CutCopyMode = False
Selection.ClearContents
Range("a1").Select
ActiveWindow.ActivateNext
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Windows("Güncel.xls").Activate
ActiveSheet.Paste

ActiveWindow.ActivateNext
ActiveWorkbook.Close
Windows("Güncel.xls").Activate
End Sub



Yukardaki kodun başına ve sonuna screenupdating uyguladım ancak halen panoya eklemek isteyip istemediğimi soran bir uyar penceresi çıkmakta malesef...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
:cool: :cool:
önce:
Kod:
Displayalerts=false
En sona:
Kod:
Displayalerts=true
 
Katılım
4 Temmuz 2010
Mesajlar
1
Excel Vers. ve Dili
OFİS 2007 TÜRKÇE
Excell de çalıştığım sayfada aktif ücrenin bulunduğu tük satırın renginin değişmesini istiyorum yardımlarınız için şimdiden teşekkür ederim
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Excell de çalıştığım sayfada aktif ücrenin bulunduğu tük satırın renginin değişmesini istiyorum yardımlarınız için şimdiden teşekkür ederim
Konunuz için yeni bir başlık açıp sorunuzu sorunuz.Burada başka konu çözülüyor.:cool:
 
Üst