Tässä korjaus, joka poistaa pisteiden häviämiseen liittyvän ongelman. Jälkimmäinen virhe on korjattu jo aiemmin, eli käytössäsi ei ollut tuorein versio.JaniV kirjoitti:... lisätieto-kentistä hävisi pisteet.... Lisäksi yhdessä havainnossa, missä oli syötetty eri riveille pariutuneet emot ja toiselle maastopoikaset, oli kopioitunut myös poikasille tuo 'pariutuneet'....
t: JaniV
- PekkaS-
Sub TIIRAN_HAVIKSET_TYHJIENSOLUJENTAYTTO()
'Versio 1.02 10.12.2007
'
'Lauri Nikkinen 20.7.2006
'Sarkealueen rajaus Pekka Suopajärvi 10.8.2006
'Lisätietopisteiden poisto korjattu Pekka Suopajärvi 10.12.2007
'
'Makro olettaa, että täytettävät solut alkavat laji-muuttujasta, joka on saraakkeessa B ja päättyät salaus-muuttujaan sarakkeessa R
Range("B1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="<>"
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "."
Selection.AutoFilter Field:=2
Do
'Hakee B1-sarakkeesta ensimmäisen solun, joka on ennen tyhjää solua
Range("B1").End(xlDown).Select
'Valitsee täytettävän solualueen
Set LeftCell = Cells( ActiveCell.Row, 2)
Set RightCell = Cells(ActiveCell.Row, 256)
If IsEmpty(LeftCell) Then Set LeftCell = LeftCell.End(xlToRight)
If IsEmpty(RightCell) Then Set RightCell = RightCell.End(xlToLeft)
If LeftCell.Column = 256 And RightCell.Column = 2 Then ActiveCell.Select Else Range(LeftCell, RightCell).Select
Range(Selection, Selection.End(xlDown)).Select
'Solualueen täyttö
'Tämän kohdan koodaajat alla
'Tom Ogilvy, 1999/12/14 programming
'Revised David McRitchie, 2000-11-25 programming
Application.ScreenUpdating = False
Application.Calculation = xlManual
Dim cell As Range
For Each cell In Intersect(Selection, _
ActiveSheet.UsedRange )
' Täyttää vain sarakkeeseen 18 (R) saakka
If Trim(cell) = "" And cell.Row > 1 And cell.Column <= 18 Then
cell.NumberFormat = cell.Offset(-1, 0).NumberFormat
cell.Value = cell.Offset(-1, 0).Value
End If
Next cell
Application.Calculation = xlAutomatic 'xlCalculationAutomatic
Application.ScreenUpdating = False
'Looppi kunnes tulee tyhjä solu A-sarakkeessa
Loop Until IsEmpty(ActiveCell.Offset (1, 0))
Cells.Replace What:=".", Replacement:="", LookAt:=xlWhole, SearchOrder:= _
xlByRows, MatchCase:=False
Selection.AutoFilter
Cells(1, 1).Select
End Sub