Hvordan ved du (makroen) hvor mange rækker der er? Står de alle fortløbende, altså uden tomme rækker mellem? kommer der flere rækker under, som der ikke skal skrives i?
eller bare Sub summer() Application.ScreenUpdating = False For a = 1 To InputBox(antalrækker) If Cells(a, 2) = "" Then Cells(a, 3) = Cells(a, 1) + 5 End If Next End Sub
Omvendt sføli : Sub summer() Application.ScreenUpdating = False For a = 1 To InputBox(antalrækker) If Cells(a, 2) <> "" Then Cells(a, 3) = Cells(a, 1) + 5 End If Next End Sub
Sub IndsætVærdi() If IsEmpty(Range("b1")) Then For Each c In ActiveSheet.UsedRange.Columns("c:c").Cells c.Value = Range("a1") + 5 Next c End If End Sub
eller : Sub summer() Application.ScreenUpdating = False For a = 1 To 60000 If Cells(a, 1) = "" Then Exit Sub ElseIf Cells(a, 2) <> "" Then Cells(a, 3) = Cells(a, 1) + 5 End If Next End Sub Prøv med:
jkrons-> skulle den ikke have set sådan ud ? :-) Sub IndsætVærdi() For Each c In ActiveSheet.UsedRange.Columns("c:c").Cells If IsEmpty(Range("b1")) Then c.Value = Range("a1") + 5 Next c End If End Sub
Denne indsæter formlen =A1+5 i kolonne c, hvis B er tom
Sub indsætværdi2() Range(Cells(1, 1), Cells(Range("a64000").End(xlUp), 1)).Offset(0, 2).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=RC[-2]+5" End Sub
Jeg kan ikke få jkrons til at virke uden at korrigere til : Sub IndsætVærdi() If IsEmpty(Range("b1")) Then For Each c In ActiveSheet.UsedRange.Columns("b:b").Cells Dim a As Range Set a = Range(c.Address) If c.Value <> "" Then a(1, 2) = a(1, 0) + 5 End If Next c End If End Sub
Jeg må stoppe for idag. jeg bliver ved med at vrøvle. Glem mine indlæg Hvorfor er der ikke en edit-funktion her så man kan redigere sine indlæg eller slette dem......
aheiss-> Din version tester om b-cellen i hver række er tom, men det blev der ikke bedt om. Spørgsmålet gik på at indsætte i alle rækker, hvis B1 ikkevar tom., ikke b i de enkelte rækker. Og det gør min løsning.
jkrons - OK sådan læser jeg det ikke. Jeg synes det er et eksempel fra række 1, som så også skal gælde i række 2 osv. I din kode vil du i øvrigt altid indsætte samme tal, nemlig A1 + 5
Sub IndsætVærdi() Range(Cells(1, 1), Cells(Range("a64000").End(xlUp), 1)).Offset(0, 1). _ SpecialCells(xlCellTypeBlanks).Offset(0, 1).FormulaR1C1 = "=RC[-2]+5" End Sub
thor.ostergaard-> Du kan bare få nogen af de point, jeg har fået. Jeg havde jo alligevel misforstået spørgsmålet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.