Makroda komut atlatma

Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
Herkeze selam;

Arkadaşlar çalışma sayfamı buraya eklemedim fakat aşağıdaki kod ile sorunumu anlatabileceğimi düşündüm

Ben çalışma sayfama veriyi .txt olarak başka yerden çekiyorum bunda sorun yok
Fakat çektiğim veride başlıklar her zaman aynı değil.
Bende bütün ihtimallere karşı çalışma sayfama gelebilecek bütün başlıkları ekledim.
yalnız çektiğim veride bu başlıklardan biri yoksa formül çalışmıyor
Aşağıdaki koda göre

Rows.Find("FCLEXPORT30").End(xlDown).Select ile başlayan kodu es geçip

Rows.Find("FCLEXPORT40").End(xlDown).Select koduna geçmem lazım

Bunu sağlamak mümkünmü

Saygılar.




Rows.Find("FCLEXPORT30").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a3").PasteSpecial
Range("b3").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select

Rows.Find("FCLEXPORT40").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a4").PasteSpecial
Range("b4").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
 
S

Skorpiyon

Misafir
İki öneri ;

- Kodlarınız veri bulunamadığından hata veriyor ise aşağıdaki kırmızı satırları ekleyerek istediğinizi yapabilirsiniz.
On error goto hata:
Rows.Find("FCLEXPORT30").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a3").PasteSpecial
Range("b3").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hata:
Rows.Find("FCLEXPORT40").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a4").PasteSpecial
Range("b4").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select



- Kod hata versin veya vermesin, bana sorsun diyorsanız,
a = Msgbox("FCLEXPORT30 için kopyalama yapayım mı ?",vbyesno)
if a = vbyes then
Rows.Find("FCLEXPORT30").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a3").PasteSpecial
Range("b3").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
Else
Rows.Find("FCLEXPORT40").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a4").PasteSpecial
Range("b4").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
End if
 
Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
Bildiğim kadarıyla On Error GoTo komutu bir sefer kullanılabiliyor
Aşağıdaki kodu incelerseniz
Rows.Find("FCLEXPORT45").End(xlDown).Select
komutunu es geçmek istiyorum

Benim tablomda ("FCLEXPORT10") dan ("FCLEXPORT480") e kadar muhtemel 48 tane başlık var ama söylediğim gibi bu her zaman aynı değil basen 30 a kadar düşüyor.Yani değişken başlıklar
On Error GoTo komutunu for döngüsü içinde birden fazla kullanmak mümkünmü yada başka ne önerirsiniz.

Saygılar

On Error GoTo hata:

Rows.Find("FCLEXPORT30").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a3").PasteSpecial
Range("b3").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hata:

Rows.Find("FCLEXPORT40").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a4").PasteSpecial
Range("b4").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select

On Error GoTo hata:

Rows.Find("FCLEXPORT45").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a5").PasteSpecial
Range("b5").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hata:
 
Son düzenleme:
S

Skorpiyon

Misafir
Hata'dan sonra, hatabir, hataiki, hatauc olarak denediniz mi ?

On Error GoTo hata:

Rows.Find("FCLEXPORT30").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a3").PasteSpecial
Range("b3").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hata:

Rows.Find("FCLEXPORT40").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a4").PasteSpecial
Range("b4").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select

On Error GoTo hatabir:

Rows.Find("FCLEXPORT45").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a5").PasteSpecial
Range("b5").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hatabir:
 
Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
:redface: Hayır aşağıdaki gibi denedim olmadı
Şu anda deneme şansım yok deneyip yazarım


On Error GoTo hata:

Rows.Find("FCLEXPORT30").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a3").PasteSpecial
Range("b3").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hata:

Rows.Find("FCLEXPORT40").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a4").PasteSpecial
Range("b4").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select

On Error GoTo hata1:

Rows.Find("FCLEXPORT45").End(xlDown).Select
ActiveCell.Copy
Sheets("sayfa2").Select
Range("a5").PasteSpecial
Range("b5").FormulaR1C1 = "=PRODUCT(RC[-1]*2)"
Sheets("sayfa1").Select
hata1:
 
Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
Malesef o şekildede olmuyor
On Error GoTo komutu ikinciye kullanılmıyor
 
Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
Size ekte yolladığım klasörün içinde iki adet .txt beldesi var
Siz modül ikiyi çalıştırdığınızda size tarih soracak

Tarihi 120101 yada 120106 şeklinde girin
Size yolladığım txt beldeleri bu tarihle ilgili

Ben örnek olarak iki tane yolluyorum ikiside farklı
 

Ekli dosyalar

Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
klasöre ikisinide ekledim buyurun
 

Ekli dosyalar

Son düzenleme:
Katılım
27 Eylül 2007
Mesajlar
29
Excel Vers. ve Dili
vb 6.0
Arkadaşlar konuyu şöyle çözdüm

Kodlar en başına sadece bir kere

On Error Resume Next yazdığımızda End Sub a kadar hatalı kodları es geçip işlemi tamamlıyor

Konu çözülmüştür..

Saygılar..
 
Üst