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


Exel VBA Läsa in värde från cell till variabel

Postades av 2007-03-22 19:08:17 - Sven Gester, i forum microsoft office, Tråden har 3 Kommentarer och lästs av 4677 personer

Hittar inget forum för VBA så jag provar här.
I en cell skall finnas ett tidvärde med format "tt:mm:ss". Vi hämtar uppgifter från olika hemsidor genom att markera och kopiera tidstabeller. Vi klistrar in dessa i excel. Ibland kommer tidsformatet med punkt(.) alltså "tt.mm.ss".
När min kod läser in dessa tidsvärden till en double variabel får jag olika resultat beroende på (som det verkar) vilken version av excel vi använder.
Om tiden i cellen är "1.56.20", och excel har uppfattat detta som en sträng, tolkar excel 2000 det som talet 15620. Medan excel 2003 spårar ur och säger fel 13 "inkomplatibla typer".

Min fråga är nu är det en inställning i VBA editorn som gör att strängen tolkas som ett tal?
Min kod ser ut så här:
Dim Tidin As Double
Tidin = tid.Offset(rowOffset:=0, columnOffset:=3).Value

Om jag undersöker cellens format med
a = boat.Offset(rowOffset:=0, columnOffset:=3).NumberFormatLocal
får jag resultatet "[h]:mm:ss".


Svara

Sv: Exel VBA Läsa in värde från cell till variabel

Postades av 2007-03-23 09:16:41 - Niklas Jansson

Alltså... mitt kvar från förra tråden kvarstår:
<info>
Satsa istället på att antingen:
1. Se till att det sparas i tid/datumformat, och hämta upp det som en Date-variabel.
2. Se till att det sparas i strängformat, hämta upp det, och omvandla på lämpligt vis till en date eller double (antal sekunder etc.).
</info>

Detta gör du genom att ändra nummerformatet.
Jag ser inte varför du vill omvandla strängen till ett så märkligt uppbyggt tal. Du vill väl ha det som ett datum?

Använd då
<code>
Dim myDate as Date
myDate = cdate(Cells(...).Value)
</code>

Om du prompt ska ha det på det skumma sättet är det väl snyggaste med något i stil med:
<code>
i = CInt(CStr(Cells(...).Value))
'Eller
i = CInt(Format("hhmmss", cells(...).value))
'Eller
i = Cint(Replace(cstr(cellc(...).value, ".", ""))
</code>
... inte för att något av alternativen är speciellt snyggt.


Svara

Sv:Exel VBA Läsa in värde från cell till variabel

Postades av 2007-03-25 00:19:38 - Sven Gester

CDate funktionen var bra den klarade att tolka " 1.56.20" som en giltligt tid.

Men en jag är fortfarande nyfiken på varför Excel 2000 inte spårar ur men att 2003 gör det.
Tidin är en Double
Tidin =Worksheets("Sheet1").Cells(5, 3).Value
Cellen C5 har värdet " 1.56.20"


Svara

Sv: Exel VBA Läsa in värde från cell till variabel

Postades av 2007-03-25 11:35:30 - Niklas Jansson

Anledningen är förmodligen att Excel 2003 har blivit hårdare med reglerna för vad som är tal och inte.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 764
27 959
271 761
354
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