Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 15:20:36 - Andreas Björklund, i forum microsoft office, Tråden har 6 Kommentarer och lästs av 5318 personer

Jag har försökt i två dagar nu att sammanfoga två celler till en tredje cell i VBA men jag gör något fel...

Så här ser koden ut som ligger i en Sub() som anropas mha en knapp:

...
Set xlSheetTest = Sheets("BladTest")
sTmp = "=SAMMANFOGA(D2;E2)"
xlSheetTest.Range("D" & 10).Formula = sTmp
...

Kör jag programmet och trycker på knappen så att rutinen anropas får jag felmeddelandet "Körfel nr '1004' .: Program- eller objektdefinerat fel" på sista raden dvs den där D10.formula sätts till sTmp.

Trycker jag då på felsök och kollar vad sTmp innehåller så är det "=SAMMANFOGA(D2;E2)" och om jag tar värdet från sTmp-variabeln och kopierar in det i en cell Excel så fungerar det!?

Vad gör jag för fel? Får man inte använda formler i VBA?

Om jag instället testar med SUM fungerar det ju:

Set xlSheetTest = Sheets("BladTest")
sTmp = "=SUM(B8:B10)"
xlSheetTest.Range("D" & 10).Formula = sTmp

Det verkar inte heller vara något med språket eftersom om jag använder
sTmp="=CONCATENATE(D2;E2)" isf sTmp = "=SAMMANFOGA(D2;E2)" så blir det fortfarande samma felmeddelande.

Jag gör något fel men jag vet inte vad...


Svara

Sv: Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 16:40:41 - Niklas Jansson

Du måste använda den engelska motsvarigheten (precis som du gör med SUM), fast hellre kör du med &-operatorn.
"=D2 & E2"
Sen är anropet "D" & 10 lite märkligt. Använd hellre "D10", cells(10, "D") eller cells(10, 4) istället.


Svara

Sv:Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 17:27:32 - Andreas Björklund

Suveränt! Det funkar!

&-operatorn testade jag tidigare utan resultat men det fungerar bra nu så något måste jag ha gjort fel tidigare.

I de två cellerna är det en valuta(D2) respektive en procentsats(E2)...
Hur gör jag för att använda funktionen VALUTA(D2) samt ett mellanslag samt (E2%) dvs E2 inom parantes med ett procenttecken efter sig?


Svara

Sv: Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 18:54:27 - Niklas Jansson

Som formel:
=D2 & " (" & E2 & ")"

Sen är jag väl spontant lite misstänksam mot principen att skriva formler från VBA. Antingen bör det vara formler från början, eller så bör det inte vara formler alls, oftast.


Svara

Sv:Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 19:14:27 - Andreas Björklund

Precis så långt kom jag men det är när jag ska formatera D2 det går dåligt. Jag vill lägga in VALUTA(D2) men det fungerar inte. Jag även testat FORMAT(D2; "Currency") vilket verkar fungera bättre eftersom jag inte får något felmeddelande från VBA men då förstår inte Excel vad format är eftersom det står på engelska... (Det står då #NAMN? i Excel). Jag har även testat TEXT(D2;"### 0,00") men det gick inte heller bra.

Är jag helt ute och cyklar när jag skapar formler i VBA till Excel-cellerna?
Anledningen till att jag inte kan göra formlerna direkt i Excel är för kan vara oändligt många. Därför skapar jag dem i en for-loop och fyller cellernas .formula-del med de olika formlerna.


Svara

Sv: Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 21:11:50 - Niklas Jansson

En lösning är att skippa Excels funktionalitet helt och bara göra hela grejen i VBA.

Ett annat är att komma på vad det engelska ordet för "valuta" är, och skriva det istället,

=VALUTA(D2) & " (" ...

Gissningen är ju naturligtvis Currency. Om du vill slippa gissa kan du spela in ett makro där du helt enkelt skriver in formeln, och sen kolla på koden.


Svara

Sv:Lägga ihop två celler mha SAMMANFOGA(D2;E2) i VBA

Postades av 2007-04-17 22:19:18 - Andreas Björklund

Tack!!!

Jag fick det att fungera!

Jag trodde också att det borde heta Currency men jag hittade inget om det på nätet men tack vare att du ledde mig mot att spela in ett makro så fick jag reda på vad det heter på engelska =Dollar().
Logiskt och bra inte sant?! ;)

Nu fungerar det precis som jag ville ha det.

Ännu en gång TACK!


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 590
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies