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: 07:05
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.)

Eenmaal in ons leven hebben we de mensen gelukkig willen maken. Dat zullen wij onszelf nooit vergeven.


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: 07:05
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 ]

Eenmaal in ons leven hebben we de mensen gelukkig willen maken. Dat zullen wij onszelf nooit vergeven.


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