[]

Excel VBA - Destek

Herkese merhaba,

Yazmis oldugum VBA'yi gelirstirmek istiyorum ancak nasil yapacagim konusunda bilgim yok. Yardimci olursaniz sevinirim.

Kodlamadaki amacim su sekilde. Ekteki fotoda da göreceginiz gibi 4 adet sekme (sheet) bulunmakta. 4. sekmede butona basinca diger üc sekmenin isimlerini benim belirledigim hücreye (örnek: D5'den itibaren) yazmasini ve bitonun bulundugu sayfa'nin ismini yazmamasi gerekiyor. Ancak benim kodumda direk A2'den baslamakta ve bütün sekmelerin isimlerini yazmakta.
Asagida kodu bulabilirisniz.
Yardimlariniz icin simdiden tesekkürler.


Sub PageNames()

Dim IngSheets As Long

IngSheets = ThisWorkbook.Sheets.Count

For i = 1 To IngSheets

'ThisWorkbook.Sheets("Tabelle1").C


ActiveWorkbook.ActiveSheet.Cells(1 + i, 1) = ThisWorkbook.Sheets(i).Name

Next i

End Sub

 
if yapısı ekleyeceksin. "Eğer Sheets(i) sayfası ile aktif sayfa adı aynı ise hiçbir şey yapma, değilse (else) sayfa adını yaz."

Dim IngSheets As Long

IngSheets = ThisWorkbook.Sheets.Count

For i = 1 To IngSheets

'ThisWorkbook.Sheets("Tabelle1").C

If ThisWorkbook.Sheets(i).Name = ActiveWorkbook.ActiveSheet.Name Then

' Burada hiçbir şey yapılmayacak

Else

ActiveWorkbook.ActiveSheet.Cells(1 + i, 1) = ThisWorkbook.Sheets(i).Name

End If
Next i


yukarıdakini yaparsan bulunduğun sayfa adını yazmaz ama ilgili hücre boş kalır. yani arada bir sayfa ise boşluk görünür. bunun sebebi de sayfa isimleri için kullandığın indeks ile (sheets(i) indeksi yani), sayaç için kullandığın indeks aynı.

bunun yerine j değişkeni tanımlayıp 'Else' yapısının altına j = j + 1 ifadesi eklersen sayaç yazdırdığı sayfa için bir artar ve boş sayfa kalmaz.

Kısacası;

Else

ActiveWorkbook.ActiveSheet.Cells(j, 1) = ThisWorkbook.Sheets(i).Name
j = j + 1

End If

şeklinde olmalı.
  • himmet dayi  (06.03.21 12:27:47 ~ 12:37:43) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.