dizi içeriğini hücreden alma

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
sht = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5")

Merhaba
yukarıdaki dizi içeriğini sayfadaki herhangi bir hücredeki değerden alabilirmiyiz?

range("a1")="Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5"

sht = Array(range("a1"))
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
A1 hücresi
Kod:
Sayfa1 Sayfa2 Sayfa3
gibi olsun

Kod:
Sub Makro1()

    Dim a As Variant

    a = Split(Range("A1"), " ")
    
    MsgBox UBound(a)
    
End Sub
gibi diziye alabilirsiniz.
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Sub Makro1()

Dim a As Variant
a = Split(Range("A1"), " ")

For Rw = 1 To UBound(a)
b = (Range("A1")(Rw, 1))
Exit For
Next Rw
MsgBox (b)
End Sub

Merhaba,
A1 hücresi
Kod:
Sayfa1 Sayfa2 Sayfa3
gibi olsun

Kod:
Sub Makro1()

    Dim a As Variant

    a = Split(Range("A1"), " ")
   
    MsgBox UBound(a)
   
End Sub
gibi diziye alabilirsiniz.
bu şekilde mi?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Verdiğiniz kodlardan bir şey anlamadım.
Sorunuzun yanıtını verdim, kendinize uyarlayınız.
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Verdiğiniz kodlardan bir şey anlamadım.
Sorunuzun yanıtını verdim, kendinize uyarlayınız.
Yazdığınız kodların sonucu 2 çıkıyor ondan dolayı yazmıştım.

zaten benim yazdığım gibi uyarlayınca da hata verdi kodlar.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

İstediğiniz bu mu? Veri A1 de ve virgül ile ayrılmış düşünüldü.
Kod:
Sub Makro1()

    Dim a As Variant, i As Byte

    a = Split(Range("A1"), ",")
    
    For i = 0 To UBound(a)
        MsgBox a(i)
    Next i
    
End Sub
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Merhaba,

İstediğiniz bu mu? Veri A1 de ve virgül ile ayrılmış düşünüldü.
Kod:
Sub Makro1()

    Dim a As Variant, i As Byte

    a = Split(Range("A1"), ",")
   
    For i = 0 To UBound(a)
        MsgBox a(i)
    Next i
   
End Sub
Hücredeki veriye göre sayfaları yeni kitap olarak kopya oluşturacağım.

sht = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5")
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Sub sayfakopya()
Dim a As Variant, i As Byte

a = Split(Range("c1"), ",")
b = UBound(a)

Dim vArray(0 To 2)

For r = 0 To UBound(a)
vArray(r) = a(r)
Next

Sheets(vArray).Copy

End Sub


Aslında sorumun cevabını bu şekilde uyarladım fakat bir sorun daha oluştu.
Dim vArray(0 To 2)
buradaki 2 yi de parametreye atamam gerekiyor.
Dim vArray(0 To UBound(a)) gibi. bu şekilde sorun oluyor tabi
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Sub sayfakopya()
Dim a As Variant, i As Byte

a = Split(Range("c1"), ",")
b = UBound(a)

Dim vArray(0 To 2)

For r = 0 To UBound(a)
vArray(r) = a(r)
Next

Sheets(vArray).Copy

End Sub


Aslında sorumun cevabını bu şekilde uyarladım fakat bir sorun daha oluştu.
Kod:
 Dim arrSh()
a = Split(Range("c1"), ",")
b = UBound(a)
For s = 0 To b
         ReDim Preserve arrSh(0 To s)
                arrSh(s) = a(s)
        Next s
        Sheets(arrSh).Copy
Sorunum çözülmüştür. Alternatif dizin türünü kullandım
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Dim vArray(0 To 2)
buradaki 2 yi de parametreye atamam gerekiyor.
Dim vArray(0 To UBound(a)) gibi. bu şekilde sorun oluyor tabi
Merhaba,
Burada ifade ettiğiniz sorunu Dim yerine ReDim kullanarak çözebilirsiniz. ReDim vArray(0 To UBound(a)) gibi...
İyi çalışmalar...
 
Üst