|
| Flytning af tal placeret i skema i Word Fra : Henrik Hougaard |
Dato : 16-09-02 09:42 |
|
Et lille problem:
Hver år skal jeg flytte nogle tal fra en kolonne (f.eks. kolonne C) til en
anden (f.eks. kolonne E) i flere skemaer i Word. Undervejs skal tallene lige
deles med 1000 inden de indsættes kolonne E. Tallen er med 1.000 punktum -
dvs de opfattes af Word som tekst. Kolonner omfatter tillige tekst
(overskrift), der også skal flyttes med, men ikke deles med 1000.
F.eks.:
2002 2001
kr. tkr.
Omsætning 10.000 15
Vareforbrug 6.000 7
Dækningsbidrag 4.000 8
osv.
Tallenen og overskiften i 1. kolonne skal flyttes over i anden kolonne, men
deles med 1.000 (dog ej overskiften, der altid vil være fed skrift)
Jeg vil gerne kunne gøre dette med en makro
Jeg forestiller mig noget med at afmærke overskrift og tal i fra-kolonnen,
aktiver en makro, der herefter flytter det afmærkede. For at tekst ikke skal
blive "delt" med 1000 forstiller jeg mig at spørge på om formateringen er
fed, hvorefter cellens indhold ikke skal deles, men blot flyttes. Helt fint
vil det være hvis man kan lave det sådan at 2. linie i det afmærkede (kr og
tkr. ikke flyttes).
Hvad gør jeg?
mvh
Henrik
| |
pre (16-09-2002)
| Kommentar Fra : pre |
Dato : 16-09-02 12:00 |
|
Når du går i gang med makroen så brug funktionen ISnumeric enten
positivt eller negativt.
Resten er vel blot et loop over formelfeltet. Nok var det smartere
gennem Excel, Words regnestok er ikke den bedste.
--
mvh
© pre 2002
"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> skrev i en
meddelelse news:3d859987$0$64167$edfadb0f@dspool01.news.tele.dk...
> Et lille problem:
>
> Hver år skal jeg flytte nogle tal fra en kolonne (f.eks. kolonne C)
til en
> anden (f.eks. kolonne E) i flere skemaer i Word. Undervejs skal
tallene lige
> deles med 1000 inden de indsættes kolonne E. Tallen er med 1.000
punktum -
> dvs de opfattes af Word som tekst. Kolonner omfatter tillige tekst
> (overskrift), der også skal flyttes med, men ikke deles med 1000.
>
> F.eks.:
>
> 2002 2001
> kr. tkr.
>
> Omsætning 10.000 15
> Vareforbrug 6.000 7
> Dækningsbidrag 4.000 8
> osv.
>
> Tallenen og overskiften i 1. kolonne skal flyttes over i anden
kolonne, men
> deles med 1.000 (dog ej overskiften, der altid vil være fed skrift)
>
> Jeg vil gerne kunne gøre dette med en makro
>
> Jeg forestiller mig noget med at afmærke overskrift og tal i
fra-kolonnen,
> aktiver en makro, der herefter flytter det afmærkede. For at tekst
ikke skal
> blive "delt" med 1000 forstiller jeg mig at spørge på om formateringen
er
> fed, hvorefter cellens indhold ikke skal deles, men blot flyttes. Helt
fint
> vil det være hvis man kan lave det sådan at 2. linie i det afmærkede
(kr og
> tkr. ikke flyttes).
>
> Hvad gør jeg?
>
>
> mvh
> Henrik
>
>
| |
Leo Heuser (20-09-2002)
| Kommentar Fra : Leo Heuser |
Dato : 20-09-02 16:20 |
|
Henrik
Her er én måde at løse det på.
Sæt selv ColumnOffset til det antal kolonner
destinationskolonnen står til højre for (tallet
positivt) eller til venstre for (tallet negativt)
kildekolonnen.
Ud fra din beskrivelse er jeg i tvivl om, om du
mener flytte eller kopiere. Rutinen kopierer.
Hvis du ønsker at slette *indholdet* i kildekolonnen
efter kopieringen, kan du tilføje linjerne:
SourceColumn.Select
Selection.Delete
til koden (lige inden Finito:)
Ønsker du at slette hele kildekolonnen, kan
du tilføje linjen:
SourceColumn.Delete
1. Stå i en tilfældig celle i kildekolonnen
2. Kør makroen
--
Med venlig hilsen
Leo Heuser
Sub TilTusinder()
'Leo Heuser, 20-9-2002
Dim ColumnOffset As Long
Dim Contents As Variant
Dim Counter As Long
Dim DestColumn As Column
Dim SelectedColumn As Long
Dim SourceColumn As Column
ColumnOffset = 2
On Error GoTo Finito
SelectedColumn = Selection.Cells(1).ColumnIndex
With Selection.Tables(1)
Set SourceColumn = .Columns(SelectedColumn)
Set DestColumn = .Columns(SelectedColumn + ColumnOffset)
End With
SourceColumn.Select
On Error Resume Next
For Counter = 1 To Selection.Rows.Count
Contents = Left(SourceColumn.Cells(Counter).Range, _
Len(SourceColumn.Cells(Counter).Range) - 2)
With DestColumn.Cells(Counter)
If Counter = 1 Then
.Range = Contents
.Range.Font.Bold = True
Else
.Range = Int(Contents / 1000)
End If
End With
Next Counter
Finito:
End Sub
"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> skrev i en meddelelse
news:3d859987$0$64167$edfadb0f@dspool01.news.tele.dk...
> Et lille problem:
>
> Hver år skal jeg flytte nogle tal fra en kolonne (f.eks. kolonne C) til en
> anden (f.eks. kolonne E) i flere skemaer i Word. Undervejs skal tallene
lige
> deles med 1000 inden de indsættes kolonne E. Tallen er med 1.000 punktum -
> dvs de opfattes af Word som tekst. Kolonner omfatter tillige tekst
> (overskrift), der også skal flyttes med, men ikke deles med 1000.
>
> F.eks.:
>
> 2002 2001
> kr. tkr.
>
> Omsætning 10.000 15
> Vareforbrug 6.000 7
> Dækningsbidrag 4.000 8
> osv.
>
> Tallenen og overskiften i 1. kolonne skal flyttes over i anden kolonne,
men
> deles med 1.000 (dog ej overskiften, der altid vil være fed skrift)
>
> Jeg vil gerne kunne gøre dette med en makro
>
> Jeg forestiller mig noget med at afmærke overskrift og tal i fra-kolonnen,
> aktiver en makro, der herefter flytter det afmærkede. For at tekst ikke
skal
> blive "delt" med 1000 forstiller jeg mig at spørge på om formateringen er
> fed, hvorefter cellens indhold ikke skal deles, men blot flyttes. Helt
fint
> vil det være hvis man kan lave det sådan at 2. linie i det afmærkede (kr
og
> tkr. ikke flyttes).
>
> Hvad gør jeg?
>
>
> mvh
> Henrik
>
>
| |
|
|