Toon posts:

Excel + macro specifiek 1 kolom wijzigen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo Ik heb een file met meerdere kolommen. ik open eerst de file met onderstaand script en vervolgens wil ik dat de waarde in kolom C worden aangepast en niet de overige. Ik kom er niet uit kunnen jullie mij verder helpen?

File openen:
Sub DPconv()

Workbooks.OpenText Filename:="K:\IRIS\TEST\NLDS.prn", Origin:=437, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(20 _
, 1), Array(30, 1), Array(35, 1), Array(50, 1), Array(60, 1)), TrailingMinusNumbers:= _
True
end Sub

Data omzetten:
Public Sub countrycodetemp()
Cells.Replace What:="4", Replacement:="DE", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="11", Replacement:="ES", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="1", Replacement:="FR", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="6", Replacement:="GB", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="5", Replacement:="IT", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
etc etc....

Wat doe ik nu verkeerd?

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 19:54
Ik neem aan dat je import wel goed gaat. Die tweede moet anders, je zal Excel uiteindelijk toch echt moeten uitleggen watíe allemaal moet veranderen. Probeer:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
Public Sub countrycodetemp()
Dim kolomC as range
kolomC = ActiveSheet.Range("C:C")
kolomC.Replace What:="4", Replacement:="DE", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
kolomC.Replace What:="11", Replacement:="ES", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
kolomC.Replace What:="1", Replacement:="FR", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

End Sub

(als je je code voortaan tussen [code=vb_][/code_] tags (maar dan zonder _) zet, leest het veel prettiger.)

Verwijderd

Topicstarter
hoi onkl,

bedankt voor je hulp helpt inderdaad stukje op weg, echter geeft hij een Runtime Error 91: object variable or With block variable not set

en bij debug geeft hij een opmerking bij
[code=vb_]kolomC = ActiveSheet.Range("C:C")[/code_]

Ik heb ook geprobeerd om
[code=vb_]kolomC = Range("C:C").activate[/code_]
maar ook dan loopt hij vast. hij selecteerd dan wel colom c

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 19:54
Verwijderd schreef op donderdag 02 maart 2006 @ 13:20:
hoi onkl,

bedankt voor je hulp helpt inderdaad stukje op weg, echter geeft hij een Runtime Error 91: object variable or With block variable not set

en bij debug geeft hij een opmerking bij
[code=vb_]kolomC = ActiveSheet.Range("C:C")[/code_]

Ik heb ook geprobeerd om
[code=vb_]kolomC = Range("C:C").activate[/code_]
maar ook dan loopt hij vast. hij selecteerd dan wel colom c
Zwart en heet... * onkl needs coffee. :O
Probeer:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
Public Sub countrycodetemp()
Dim kolomC As Range
Set kolomC = ActiveSheet.Range("C:C")
kolomC.Replace What:="4", Replacement:="DE", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
kolomC.Replace What:="11", Replacement:="ES", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
kolomC.Replace What:="1", Replacement:="FR", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

End Sub

[ Voor 7% gewijzigd door onkl op 02-03-2006 13:28 ]


Verwijderd

Topicstarter
Super dat was de oplossing de SET ervoor.

Hartelijk bedankt voor de hulp en neem een kop koffie op jou hulp !!

groetjes martijn