2016-03-25 14 views
0

Çalışma sayfamda birkaç yüz girdiye sahip bir çalışma kitabım var, & Bir sütunda bir sonraki boş hücreyi bulmak için kodum var. Kod bir sayfa üzerinde çalışıyor, ancak diğerinde değil. Bunun basit bir şey olduğunu biliyorum ama yanlış olduğunu anlayamıyorum.Bir sonraki boş hücreyi bir colunm içinde bulma

Private Sub CommandButton_Click() 
Dim ws As Worksheet 

Set ws = ActiveSheet 

For Each cell In ws.Columns(1).Cells 
    If Len(cell) = 0 Then cell.Select: Exit For 
Next cell 
End Sub 
+1

'kodu bir sayfada çalışır, ancak diğerini değil ve kodunuzu okur' Set ws = ActiveSheet 'Tahmin düğmesi yalnızca bir sayfadadır ... – findwindow

+0

Yalnızca A1 hücresine gidebileceğinizi biliyor musunuz? C sütunundaki bir sonraki boş hücreyi bulmak için Ctrl + [Aşağı Ok] ' VBA'ya gerek yok. Sadece Anahtar Presler. –

cevap

0

kullanmak olacaktır modül bir sıradaki bir sonraki boş hücreyi bulur. İşte bu kodu Sub Macro_FIND_NEXT_BLANK_SPACE() If IsEmpty(ActiveCell.Offset(1)) Then ActiveCell.Offset(1).Select Else ActiveCell.End(xlDown).Offset(1).Select End If End Sub kodlayın ve sonra alt komutu çalıştırmak için kodu yazdım. Private Sub CommandButton14_Click() Call Macro_FIND_NEXT_BLANK_SPACE End Sub Yardımlarından dolayı gruba teşekkür ediyorum.

0

Sen önceki tıklama bulunan son boş hücreyi "hatırlamak" için bir yol gerekir:

Public iROW As Long 

Sub CommandButton_Click() 
Dim ws As Worksheet 

Set ws = ActiveSheet 

For Each cell In ws.Columns(1).Cells 
    If cell.Row > iROW Then 
     If Len(cell) = 0 Then 
      cell.Select 
      iROW = cell.Row 
      Exit For 
     End If 
    End If 
Next cell 
End Sub 

alternatif bir yaratılmış Find() ve FindNext()

+0

Bir çözüme daha yakınım. findwindow & Gary's Student, Yardımlarınız için teşekkür etmek istiyorum. Bana bu konuya nasıl yaklaşacağımı düşünüyorsun. Kodu bir modüle yerleştirdim ve sonra bir komut düğmesinden altını çalıştırmak için kod yazdım. Altını çalıştırdığımda, bu satırda 'Call Sub Macro_FIND_NEXT_BLANK_SPACE' kodunda bir sözdizimi hatası alıyorum. Yanlış yaptığımı ve nasıl düzeltileceğini açıklayabiliyor musunuz? –

+0

Özel Alt KomutDüğmesi # _Click() Çağrısı Macro_FIND_NEXT_BLANK_SPACE End Sub'ın çalıştırdığı bir yanıt İşte yukarıdaki kod bir modül çalıştırıyor. 'Alt Macro_FIND_NEXT_BLANK_SPACE() ise IsEmpty (ActiveCell.Offset (1)) sonra ActiveCell.Offset (1) .Select Başka ActiveCell.End (xlDown) .Offset (1) .Select End If sonu Sub' –

İlgili konular