Just nu i M3-nätverket
Jump to content

Hämta värdet som skrivs ut inne i Excel


Tok-Torsten

Recommended Posts

Hej igen,

har kört fast ännu en gång. Bakgrunden är att jag får ifyllda excelblad från vilka jag skall skapa en textfil med datan strukturerad enligt ett standard format som sedan skall födas till en db.

Problemet är att db applikationen kräver att det finns en decimal samt minst en siffra på var sida om decimalen för att fungera.

(Jag gjorde först ett försök med att lägga till nollor med script men det blev lite kajko.)

Då tänkte jag till lit eoch kom på att jag kunde formattera innehållet i excel med standardfunktionalitet. Jättelätt trode jag:

Glad i hågen gjorde jag ett macro som gjorde format cells/ number/ two decimal places.

Anropade detta macro innan jag körde textscript macrot.

Formatteringsmacrot ändrar värdena till decimaltal så som jag vill men när jag sedan fångar de värden som står i cellerna så får jag det värde som ursprungligen skrevs i.

 

Jag använder mig av nedanstående kommando för att fånga upp värdena.

Dim qT as String

qT= Range("M" & i).Value

 

Är det något annat än .Value som jag bör använda mig av eller ligger felet i att jag satt variabeln som string.

 

Jag vill ju bara ha det värde som syns i Excel bladet. Då jag markerar ett av dessa värden så syns det som skrivits in oformatterat i textfältet.

 

Hej, Tok-Torsten

Link to comment
Share on other sites

Kan du inte skapa mallen som ett blad i en bok? Måste du skriva den via makro?

 

 

När du har skapat mallen, med korrekt format, exportera bladet som text. Eller om du vill ta det via makro testa att hämta värdet i cellen med Range("M" & i).Text, då får du exakt det som står i cellen.

Link to comment
Share on other sites

Du fick nog en bra lösning från monshi där.

Jag utgår från att du kör din cellformattering innan.

Vet att du har koll på grejjerna, men kommenterar så att jag inte kör någon

överstegare på dig, eftersom jag e nb ;)

Sub dinsub()

i = 1 'min räknare i loopen

Open "C:\dintextfil.txt" For Append As #1
Do Until Cells(i, 1) = "" 'så länge kolumn A inte är tom
qT = Cells(i, 1).Text 'använd range som monshi om du föredrar
qT = Replace(qT, ".", ",") 'om du behöver komma istället för punkt?
Print #1, qT
i = i + 1
Loop
Close #1

End Sub 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...