webForumDet fria alternativet

Excel: Kopiera

15 svar · 592 visningar · startad av fredrik99

fredrik99Medlem sedan maj 2000426 inlägg
#1

Jag har en funktion i Excel, när Excel har gjort sitt o räknat ut funktionen vill jag kopiera svaret. Hur gör jag? Jag vill INTE ha själva funktionen som ligger i cellen (ex, H15-G15) utan själva svaret som blir av (ex, H15-G15) Någon ide? ;)

SirPeterMedlem sedan feb. 200115 571 inlägg
#2

Om jag tolkar dig rätt så kan du väl bara lägga in tex. =G16 i den cellen som du vill ha svaret. Om det är i G16 som du har svaret alltså. ;)

solbulleMedlem sedan mars 20015 287 inlägg
#3

Om du ska kopiera det manuellt:

Markera/Kopiera

Markera/Klistra in special/Värden

fredrik99Medlem sedan maj 2000426 inlägg
#4

Tackar :)
En liten grej till bara,
Finns det någon funktion som kapar av decimalerna till max 2 (ex, 0,52)? Kopierar man ett värde får jag alla decimaler, vilket jag inte är intresserad av!

SirPeterMedlem sedan feb. 200115 571 inlägg
#5

Om du formaterar cellen som tal så kan du ställa in hur många decimaler du vill ha.

GunnarDMedlem sedan juni 20014 290 inlägg
#6

Annars funkar följande funktion (för 2 decimaler):

heltal(=A1*100+.5)/100

XL-DennisMedlem sedan juni 200290 inlägg
#7

Hej,

fredrik99 frågar:

Kopierar man ett värde får jag alla decimaler, vilket jag inte är intresserad av!

Exempel 1:
A1: 1,33333333
B1: 2,44444444
C1: B1-A1
C1=1,11111111

Krav på lösningen:
1. Kopiera endast det synliga värdet, ej underliggande formel.
2. Kopiera endast med två decimaler.

Lösning:
1. Formatera de mottagande cellerna med formatet:
0,00
2. Utför därefter Klistra in special såsom ovan.

GunnarDMedlem sedan juni 20014 290 inlägg
#8

Testade det du beskrev, men den mottagande cellen innehåler fortfarande alla decimaler.

Gjorde så här:
A1: 1,3333333
B1: 2,4444444
C1: =B1-A1 -> 1,1111111

Formaterade D1 som tal med 2 decimaler.
Kopierade C1
Klistra in special till D1
D1 visas med 2 decimaler -> 1,11
Tog bort formateringen på D1
D1 visas med alla decimaler -> 1,1111111

/Red: allt gjort i Excell 2002 / XP

XL-DennisMedlem sedan juni 200290 inlägg
#9

GunnarD,

Nej, ingen formatering reducerar antalet decimaler vid kopiering.
Det ligger i sakens natur.

I min specialanpassade XL-miljö använder jag följande reviderade kod:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'© 1998 Alla rättigheter XL-Dennis
Dim rnCell As Range
Set Target = Range("C1:C100")

For Each rnCell In Target
    If Not IsEmpty(rnCell.Value) Then
        rnCell.Value = Round(rnCell.Value, 2)
    End If
Next rnCell
    
End Sub
GunnarDMedlem sedan juni 20014 290 inlägg
#10

Exakt, men den lösningen du gav fungerar inte på en standard installation av Exel.

Att du sedan har gjort en egen funktion för det är en annan sak.

XL-DennisMedlem sedan juni 200290 inlägg
#11

GunnarD,

Nej, du har helt rätt i det och jag ber om ursäkt ifall jag har förlett någon av mitt "felaktiga" svar. Jag brukar vanligtvis säkerhetsställa att mina lösningar fungerar :)

Ett av mina "problem" är att jag har ca 350 st egna tillägg/funktioner/procedurer i XLstart-mappen + ett 10-tal verktyg från andra+diverse standarkopplingar med VB / VB.net

Men StarCalc (Kalkylprogrammet i StarOffice 6.0) är en ren standardinstallation ;)

joserMedlem sedan mars 20021 152 inlägg
#12

GunnarD > Testa att avrunda talet i C1 istf att bara visa avrundat.

A1: 1,3333333
B1: 2,4444444
C1: =AVRUNDA(B1-A1;2)

Eller kopiera värdet från C2 om C1 inte får avrundas:

A1: 1,3333333
B1: 2,4444444
C1: 1,1111111
C2: =AVRUNDA(C1;2)

fredrik99Medlem sedan maj 2000426 inlägg
#13

Tack för svaren :)

Om jag vill kopiera en cell som har formatet ([t].mm) till en cell där formatet är (allmänt). Hur får jag samma cell-svar då?

Exempel:
I funktions-fältet för cellen står det "1900-01-01 01:16:00" men i formatet ([t].mm) står det "25.16". Det jag vill göra är att kopiera 25.16 till en annan cell där formatet är allmänt. Jag vill alltså bara ha 25.16 i funktionsfältet för cellen.

joserMedlem sedan mars 20021 152 inlägg
#14

Om jag fattar rätt så vill du att en cell ska skicka ett värde till en annan cell istf att den cellen hämtar det värdet?

Utskrift av värde till annan cell är en funktion som jag inte har hittat i Excel.

XL-DennisMedlem sedan juni 200290 inlägg
#15

fredrik99,

Funktionsfältet = Formelfältet?

Det som primärt kopieras är det underliggande värdet. När du ger uttryck för att kopiera ett formaterat värde måste förutsättningarna anges tydligare än vad du gör.

Vill du:
a) kopiera och formatera manuellt
b) eller referera och formatera via formel
c) eller kopiera och formatera mha VBA?

Svar:
a) Se tidigare i tråden.

b) =TEXT(H8;"[t]:mm")
eller för allmänt format =TEXT(H8;"0,000")

c) Se nedan

Sub Formatera()
'© 2002 Alla rättigheter XL-Dennis
Dim rnCell As Range

For Each rnCell In Selection
    If Not IsEmpty(rnCell.Value) Then
        rnCell.NumberFormat = "[h]:mm"
       'allmänt format
       'rnCell.NumberFormat = "0.000"
    End If
Next rnCell
    
End Sub
fredrik99Medlem sedan maj 2000426 inlägg
#16

Tackar :e :e

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)