14. oktober 2003 - 15:45
Der er
10 kommentarer og 1 løsning
Macro Programmering - Indsæt en "ligning" i en celle
Problemet består i at den ikke gider indsætte det statement som jeg vil have den til. er der nogen af jer der hurtigt kan fortælle mig hvor den nægter at tage den når den med glæde tager en normal tekst-streng? Sub indsæt() ' ' indsæt Makro ' Makro indspillet 10-10-2003 af Thomas Jørgensen ' ' Selection.EntireRow.Insert Range("A" & ActiveCell.Row & ":J" & ActiveCell.Row).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With celle = "H" & ActiveCell.Row Range(celle).Select argument = "HVIS(E" Cells(ActiveCell.Row, ActiveCell.Column) = argument End Sub
Annonceindlæg fra Kommando
14. oktober 2003 - 15:54
#1
en makro taler engelsk et eksempel på en hvis sætning Sub Makro1() Range("B2").Select ActiveCell.FormulaR1C1 = "=IF(R[-1]C[3]<>"""",1,2)" End Sub som i regnearket ser sådan ud =HVIS(E1<>"";1;2)
14. oktober 2003 - 16:05
#2
Du kan også bare bruge denne linie. Cells(ActiveCell.Row, ActiveCell.Column).Formula = "=if(a1=1,1,2)" kabbak siger er også rigtigt, men det er den gamle måde at referere til celler på vha. excel. Den er ved at udgå - jvf. MS dokumentationen. VH CK
14. oktober 2003 - 16:05
#3
okay... virker den engelske version så også en en dansk Excel?? jeg har brugt den danskeHvis indtil videre i regnearket uden problemer..
14. oktober 2003 - 16:07
#4
Makro og VBA programmering er altid engelsk, også i danske
14. oktober 2003 - 16:18
#5
Stadigvæk samme problem..... her under den rettede kode Sub indsæt() ' ' indsæt Makro ' Makro indspillet 10-10-2003 af Thomas Jørgensen ' ' Selection.EntireRow.Insert Range("A" & ActiveCell.Row & ":J" & ActiveCell.Row).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With celle = "H" & ActiveCell.Row Range(celle).Select argument = "=IF(E" & ActiveCell.Row & "*F" & ActiveCell.Row & ">0;E" & ActiveCell.Row & "*F" & ActiveCell.Row & ";" & Chr(34) & Chr(34) Cells(ActiveCell.Row, ActiveCell.Column) = argument End Sub
14. oktober 2003 - 16:19
#6
også med .formula muligheden... har lige testet den
14. oktober 2003 - 16:21
#7
men når jeg bruger "=if(a1=1,1,2)" formularen virker det.. hjælper dog ikek vildt meget da det er denne formular jeg skal bruge.. :) "=IF(E" & ActiveCell.Row & "*F" & ActiveCell.Row & ">0;E" & ActiveCell.Row & "*F" & ActiveCell.Row & ";" & Chr(34) & Chr(34)
14. oktober 2003 - 16:48
#8
har lige rettet de sidste 2 linier, der var fejl argument = "=IF(E" & ActiveCell.Row & "*F" & ActiveCell.Row & ">0,E" & ActiveCell.Row & "*F" & ActiveCell.Row & "," & Chr(34) & Chr(34) & ")" ActiveCell.Formula = argument
14. oktober 2003 - 16:49
#9
Cells(ActiveCell.Row, ActiveCell.Column) er det samme som ActiveCell
14. oktober 2003 - 16:51
#10
Virker nu mange takker kabbak
14. oktober 2003 - 16:53
#11
selv tak
Kurser inden for grundlæggende programmering