'da For..Next Loop içinde sayaç için ilk boş satır ve sayaç için değişken bildirme Başlat Aşağıdaki kod, basit bir formül yineleyicisidir. İyi çalışan bir tane vardı, ancak select
ve activate
'dan uzaklaşmak ve kodun okunması daha kolay olması için değişkenleri bildirmeye başlamak istiyorum.VBA
Temel olarak kısayoluma basıp kodun F sütunundaki ilk boş satırdan başlamasını istiyorum (F4'ten başlayarak). Daha sonra kodun bu formattaki değerleri kullanarak bir formül girmesini istiyorum: Formül (ValueTwoColumnsLeft, ValueOneColumnLeft).
Gerçekten yardıma ihtiyacım olan şey For..Next döngülerinin anlaşılmasıdır. For StartCell = 1 To 2500
bölümü için, i
'un ne olduğunu veya nasıl tanımlamam gerektiğini anlamıyorum. Bir menzil olamayacağını biliyorum, o zaman artık mantıklı değil.
Sub FormulaRepeater()
' Keyboard Shortcut: Ctrl+q
Dim sht As Worksheet
Dim Address As Range
Dim rowcount As Long
Dim Latitude As String
Dim Longitude As String
Dim result As String
Dim StartCell As Range
Set sht = Worksheets("S2")
Set Address = sht.Range("F4").End(xlDown)
rowcount = sht.Cells(Rows.Count, Address) 'start from first blank row in F
Set StartCell = sht.Cells(rowcount + 1, Address)
Latitude = Cells.Offset(0, -2).Value ' get latitude 2 cells to the left
Longitude = Cells.Offset(0, -1).Value 'get longitude 1 cell to the left
'Would using offset here be the same as select i.e. sets Application.ScreenUpdating=True
For rowcount = StartCell To 10 'from the selected cell to 2500, _
which is the daily limit for the Google API
result = GEOAddress(Latitude, Longitude)
Next
End Sub
P.S formülü hakkında endişelenmeyin, kendi başına çalışır. Evet, sürükleyebilirim ama pratik yapmaya çalışıyorum. Rowcount ATM'yi tanımlamada tür uyuşmazlığı elde etme. Eğer çalışma sayfasını bildirmek için unuttum rağmen
teşekkür arıyoruz Umut! Ne yazık ki, bu bana başlık ile aynı sorunu veriyor. AKA "i" sayacı tanımlanmamıştır. Bunun ne anlama geldiğini bilmiyorum ... Satır yöntemi için alttan başlamayı gerçekten çok seviyorum, +1 ihtiyacını ortadan kaldırıyor. Büyük bahşiş! –
@ J.H, düzenlenmiş koduna bakın. "i" nin amacı, –
numaralı F sütunundan karşılık gelen latitute ve longiture'ı elde etmektir. Döngünün sonunda "Next i" olması gerekmez mi? Yanlışsam düzelt! –