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? ;)
Excel: Kopiera
15 svar · 592 visningar · startad av fredrik99
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å. ;)
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!
Om du formaterar cellen som tal så kan du ställa in hur många decimaler du vill ha.
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.
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
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
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.
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 ;)
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)
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.
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.
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
Tackar :e :e