2011-03-12 13 views
20

Bu yüzden bir komut düğmesi tıklandığında basit bir küçük makro/alt tanımlanmış.basit bir vba kodu bana çalışma zamanı hatası 91 nesne değişkeni verir veya blok ayarlanmamış

Dim rng As Range 
rng = Sheet8.Range("A12") '<< ERROR here 
rng.Value2 = "1" 

Sadece Hücre "A12" set istiyorum:

Çalışma zamanı hatası '91': Değişken nesne veya Blok ile değil My kodudur

Set sorun bana verir ise Sheet8 içinde.

enter image description here

teşekkürler!

+0

Eminim, "Sheet8" var ve kesinlikle bir A12 levhası var. Belki de sözdizimi? Ayrı ayrı "A" ve "12" olmalı mı? – gideon

cevap

30
Sen nesnelerle Set gerek

:

Set rng = Sheet8.Range("A12") 

Sheet8 gayet iyi.

Sheet1.[a1] 
+0

+1 teşekkürler, bir hata uyarmıyor ama A12 Hücre değerini ayarlamıyor mu? 'Rng.Value' veya 'rng.Formula' olması gerekmiyor mu? – gideon

+0

lol! tamam şimdi '' rng.Value2 = '' '' 'Set me Çalışma zamanı hatası verir. 424 – gideon

+0

@giddy Geri döndüm :) Sadece bir nesneyi bir değişkene ayarlamak için kullanın. Gönderdiğiniz kod, cevabım gereği Set'in eklenmesiyle benim için iyi çalışıyor. Sheet8 var mı? Unutmayın ki Sac3'ü Sac8 olarak yeniden adlandırabilirim ama yine de Sac3'tür. Sheet8 nesnesini Sheet8 sayfasıyla karıştırmayın. – Fionnuala

İlgili konular