Withaar
Verenigingslid
- Lid geworden
- 8 apr 2001
- Berichten
- 3.551
Vanuit een applicatie krijg ik regelmatig een bestand in excel.
Het probleem is dat getallen als tekst opgeslagen zijn.
Door een F2 en een Enter te geven re-enter ik de data waardoor Excel er getallen van maakt.
Nu dacht ik een macro te kunnen schrijven die dit voor me doet.
Sub Reenter()
Dim Lkolom As Integer
Dim Lrij As Long
Dim x As Integer
Dim y As Integer
Dim LCel As Range
' Leeg, dan stoppen
If WorksheetFunction.CountA(Cells) > 0 Then
' laatste rij
Lrij = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
' laatste kolom
Lkolom = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
For y = 1 To Lrij
For x = 1 To Lkolom
Cells(y, x).Activate
SendKeys "{F2}{Enter}"
Next x
Next y
End If
End Sub
Dit werkt echter niet zoals ik wil.
Het probleem lijkt de Enter te zijn, hierdoor kom je in een andere cel, afhankelijk van je excel instellingen naar recht of naar beneden (links en naar boven kan ook nog, maar die instelling gebruik ik eigenlijk nooit).
De for-next lussen lijken hier door niet goed te werken, maar misschien is het totaal iets anders...
Iemand een oplossing/idee hoe ik dit voor elkaar krijg?
Het probleem is dat getallen als tekst opgeslagen zijn.
Door een F2 en een Enter te geven re-enter ik de data waardoor Excel er getallen van maakt.
Nu dacht ik een macro te kunnen schrijven die dit voor me doet.
Sub Reenter()
Dim Lkolom As Integer
Dim Lrij As Long
Dim x As Integer
Dim y As Integer
Dim LCel As Range
' Leeg, dan stoppen
If WorksheetFunction.CountA(Cells) > 0 Then
' laatste rij
Lrij = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
' laatste kolom
Lkolom = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
For y = 1 To Lrij
For x = 1 To Lkolom
Cells(y, x).Activate
SendKeys "{F2}{Enter}"
Next x
Next y
End If
End Sub
Dit werkt echter niet zoals ik wil.
Het probleem lijkt de Enter te zijn, hierdoor kom je in een andere cel, afhankelijk van je excel instellingen naar recht of naar beneden (links en naar boven kan ook nog, maar die instelling gebruik ik eigenlijk nooit).
De for-next lussen lijken hier door niet goed te werken, maar misschien is het totaal iets anders...
Iemand een oplossing/idee hoe ik dit voor elkaar krijg?
Laatst bewerkt: