Diğer sayfadan range tanımlanması

Katılım
3 Mart 2007
Mesajlar
6
Excel Vers. ve Dili
excel xp
Sevgili Arkadaşlar,

Bir türlü göremiyorum nedir hatam.

Worksheets("DISBURSEMENT").Range(Cells(r, 21), Cells(r, 21).Offset(0, c1)).ClearContents
Worksheets("DISBURSEMENT").Range(Cells(r, 21), Cells(r, 21).Offset(0, c1)).HorizontalAlignment = xlRight

Yukarıdaki satırda hep "application defined or object defined" hatası alıyorum. Yardımlarınız için teşekkürler.

Makronun başlangıç kısmı aşağıdadır.

Sub Forecast()

Dim r As Integer
Dim r0 As Integer
Dim r1 As Integer

For r0 = 4 To 1000

If Worksheets("DISBURSEMENT").Cells(r0, 1) <> "" Then
r1 = r0
Else
GoTo CIK1
End If

Next r0

CIK1:
For c0 = 21 To 1000 Step 2
If Worksheets("DISBURSEMENT").Cells(1, c0) <> "" Then
c1 = c0
Else
GoTo CIK2
End If
Next c0

CIK2:
For r = 4 To r1

If Worksheets("DISBURSEMENT").Cells(r, 3) = "" Then

Worksheets("DISBURSEMENT").Range(Cells(r, 21), Cells(r, 21).Offset(0, c1)).ClearContents
Worksheets("DISBURSEMENT").Range(Cells(r, 21), Cells(r, 21).Offset(0, c1)).HorizontalAlignment = xlRight

End If

Next r

End Sub
 
Katılım
21 Ağustos 2007
Mesajlar
107
Excel Vers. ve Dili
excel 2019
If Worksheets("DISBURSEMENT").Cells(1, c0) <> "" Then

Worksheets("DISBURSEMENT").Range(Cells(r, 21), Cells(r, 21).Offset(0, c1)).HorizontalAlignment = xlRight

Burada C0 ,C1 ifadeleri kan&#305;mca hatal&#305; ?
Kullan&#305;m &#351;ekilleri &#351;u &#351;ekilde olabilir.
If Worksheets("DISBURSEMENT").Cells(1,3) <> "" Then
1=sat&#305;r no 3=sutun no yani C
VE
Worksheets("DISBURSEMENT").Range(range("r21"), Range("r21").Offset(0,3) ).HorizontalAlignment = xlRight
'R21 den 3 eleman sa&#287;a.

Ayr&#305;ca Cells(r,21) ifadesi yerine Range("r21") olabilir.
isteginiz bunlar m&#305;?
Bir ba&#351;ka kullan&#305;m&#305; Range("C" & i)
'Ci demek

Bu kodlar&#305; denemedim hatal&#305; olabilir.
 
Son düzenleme:
Katılım
3 Mart 2007
Mesajlar
6
Excel Vers. ve Dili
excel xp
Öncelikle ilginize çok teşekkür ederim.

Aynı tablo içinde birden fazla makro çalışacağı ve her seferinde de satır ve sütun sayıları değişeceği için r1 ve c1 değişkenlerini kullandım.

Yani,

Worksheets("DISBURSEMENT").Range(Cells(1,21),Cells(1,76)) iken bir sonrakinde 76 ncı sütun 74'e düşeceği için son kısımdaki değişkenin tanımlanması beni zorladı.

Aslında Range("U" & r & ":AAAA" & c1) şeklinde birşey yazabilseydim tahminimce sorun hal olmuş olacaktı. AAAA yerine bir değişken oturtamamaktan bu sıkıntıyı yaşıyorum.

Tekrar teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bence dosyan&#305;z&#305; ekleyin.
 
Üst