2016-03-30 18 views
0

VBA/kodlama konusunda çok yeniyim ve bu yüzden bazı yardıma ihtiyacım var ve muhtemelen önümüzdeki birkaç hafta içinde burada biraz yayınlanacak. Geçen hafta boyunca kendime olabildiğince çok şey öğretiyordum ve bir proje başlatmaya karar verdim.Veri tablosunu seçme VBA

Veri tablosunu seçmem ve kopyalamam gerekiyor, ancak sorun her bir günde veri değişiminin boyut tablosudur, bu yüzden belirli bir aralığı ayarlayamıyorum. Kullandığım kod bu ancak tüm tabloyu seçmiyor.

Workbooks.open "filepath\filename.xls" 
Workbooks ("filename.xls").Activate 
Range ("b8").Select 
Range (Selection, Selection.end(xlDown)).Select 
Range (Selection, Selection.end(xlToRight)).Select 

ekli resim masa ve b8 (Hedef SLA & Kategori) 'dir verilerle ilk hücredir ve bunu Resmin sağ alt kısmındaki aşağı kopyalamak istediğiniz. Tablo değiştiğini belirttiğim gibi her gün bir dizi ayarlayamam. Table Data

cevap

0

Bir hücre aralığı yerine tabloyu seçebilirsiniz (tablonuzun adı ne olursa olsun "Tablo1" i değiştirin).

ActiveSheet.ListObjects("Table1").Range.Select 
0

(yani ilk gözlem hücresinde B8 daima) masanızdaki genel tasarımı değişmez olduğu göz önüne alındığında değişikliklerin söz konusu olabilir durumunda

Sub SelectData() 

    Dim rngData As Range 

    Set rngData = Worksheets("Table1").UsedRange 
    rngData.Offset(7, 1).Resize(rngData.Rows.Count - 7, rngData.Columns.Count - 1).Select 

End Sub 

kullanabilirsiniz aşağıdakileri olmalı oldukça sağlam:

sol üst veri noktasını adlandırmak zorunda bu uygulamak için
Sub SelectData() 

    Dim rngData As Range 
    Dim intRow As Integer 
    Dim intColumn As Integer 

     intRow = Range("Table1!FirstDataPoint").Row 
     intColumn = Range("Table1!FirstDataPoint").Column 

     Set rngData = Worksheets("Table1").UsedRange 
     rngData.Offset(intRow - 1, intColumn - 1).Resize(rngData.Rows.Count - intRow + 1, rngData.Columns.Count - intColumn + 1).Select 

End Sub 

, senin durumun hücresinde B8 yılında (adını "FirstDat kullanılan Bir nokta"). Bu hücrenin soluna veya üstüne satır veya sütun eklediğinizde, kod hala çalışmalıdır.

+0

Teşekkürler, bunu birçok farklı değişiklikle denedim ve tek geri döndüğüm 1004 çalışma zamanı hatası, uygulama tanımlı veya nesne tanımlı hata – Richards440

+0

Bu garip. Test ettim ve benim için mükemmel çalıştı. Hata hangi satırda meydana geliyor? – LMM9790

+0

Hatanın nerede oluştuğunu belirtmiyor – Richards440