Har testat olika lösningar men de skapar nya workboks med samma namn Du får ursäkta, men det är fullständigt omöjligt att förstå vad du skriver och vad din kod gör. Du skapar ju nya Excelinstanser varje gång. Nöj dig med en och behåll en referens till den (eller det aktuella workbook-instansen) så kan du uppdatera samma workbook enkelt. Vill du ha mer hjälp får du förklara bättre hur det är tänkt att fungera. en ny lösning där jag får in allt i exel, dock kvarstår ett problem deta är att det blir tidsförskjutning eller att den ej triggar.Skriva till exselworkbok (samma och samma plats)i ett redan öppet exsel ark?????
som den nedan
Private Sub Form_Load()
Dim Excel As Object
Dim SökVäg As String
SökVäg = "\\smo\trading\tr.xls"
Set Excel = CreateObject("Excel.Application")
Excel.Application.Workbooks.Open SökVäg
Excel.Visible = True
With Excel
.Worksheets(1).Range("a1") = "faan"
.Worksheets(1).Range("a2") = 1
.Range("A3").Select
End With
Set Excel = Nothing
vill få in det i ett exelark som redan är öppet och datera upp cellerna
nedan en function som tar fram datan, som sedan skall in.
Public Function VBINKORN(intab1 As String, utsokv As String, NROO As Integer, ifra As String, sp As Integer)
Dim ska As String
Dim spoj As New Collection
Dim spoj1 As New Collection
Dim spoj2 As New Collection
Dim spoj3 As New Collection
Dim spoj4 As New Collection
Dim spoj5 As New Collection
Dim soi As Table
Dim a1 As Variant
Dim a2 As Variant
Dim a3 As Variant
Dim a4 As Variant
Dim a5 As Variant
Dim a6 As Variant
Dim dqt As Recordset
Dim db As Database
If SIGNALLA(NROO) = 1 Then
'ska = oTabortd(ugrtab)
Set db = CurrentDb
'Set dk = db.CreateQueryDef("")
'sql = "select " & intab1 & ".ind," & intab1 & ".fc_k," & intab1 & ".a1," & intab1 & ".fc," & intab1 & ".ant," & intab1 & ".sigsr from " & intab1 & " where (((" & intab1 & ".sigsr)=" & spejgan(sp) & "))"
sql = "select " & intab1 & ".fc_k," & intab1 & ".a1," & intab1 & ".fc," & intab1 & ".ant from " & intab1
Set tok = db.OpenRecordset(sql, dbOpenSnapshot)
While Not tok.EOF
spoj.Add tok(0) & vbCrLf
spoj1.Add tok(1) & vbCrLf
spoj2.Add tok(2) & vbCrLf
spoj3.Add tok(3) & vbCrLf
tok.MoveNext
Wend
tok.Close
db.Close
Select Case spoj.Count
Case Is > 0
a1 = Replace(spoj(1), vbCrLf, "")
a2 = Replace(spoj1(1), vbCrLf, "")
a3 = Replace(spoj2(1), vbCrLf, "")
a4 = Replace(spoj3(1), vbCrLf, "")
Case Is < 1
a1 = 0
a2 = 0
a3 = 0
a4 = 0
End Select
{Meningen att exelapplicationen skall liggar här
a6 = spejgan(0) & ":" & spejgan(4) & ":" & a1 & ":" & a2 & ":" & a3 & ":" & a4 & ":" & intab1
DoEvents
Open utsokv & intab1 & ifra & ".txt" For Append As #1
Print #1, a6
Close #1
invasko(NROO) = 1
SIGNALLA(NROO) = 0
End If
End FunctionSv: Skriva till exselworkbok (samma och samma plats)i ett redan öppet exsel ark?
Skriv exakt vad det är du vill göra.
Du har en excelbok med ett antal ark?
Vill du duplicera den?
Vill du redigera den?Sv:Skriva till exselworkbok (samma och samma plats)i ett redan öppet exsel ark?
Sv: Skriva till exselworkbok (samma och samma plats)i ett redan öppet exsel ark?
om jag sen knackar på formen som skall skicka data till exel så uppdateras det ?????
trotts ticker !
Finns det ett annat sätt än med
With Excel
.Worksheets(1).Range("a" & NROO + 220 & "") = intab1
function i sin helhet.
exelarket matas regelbundet med siffror och strings.
Functionen ligger på en ticker form.
Tickerformens utformning se nedanför functionen
Public Function VBINKORN(intab1 As String, utsokv As String, NROO As Integer, ifra As String, sp As Integer)
Dim ska As String
Dim spoj As New Collection
Dim Excel As Object
Dim spoj1 As New Collection
Dim spoj2 As New Collection
Dim spoj3 As New Collection
Dim spoj4 As New Collection
Dim spoj5 As New Collection
Dim soi As Table
Dim a1 As Variant
Dim a2 As Variant
Dim a3 As Variant
Dim a4 As Variant
Dim a5 As Variant
Dim a6 As Variant
Dim dqt As Recordset
Dim db As Database
Set Excel = GetObject(, "Excel.Application")
If SIGNALLA(NROO) = 1 Then
Set db = CurrentDb
sql = "select " & intab1 & ".fc_k," & intab1 & ".a1," & intab1 & ".fc," & intab1 & ".ant from " & intab1
Set tok = db.OpenRecordset(sql, dbOpenSnapshot)
While Not tok.EOF
spoj.Add tok(0) & vbCrLf
spoj1.Add tok(1) & vbCrLf
spoj2.Add tok(2) & vbCrLf
spoj3.Add tok(3) & vbCrLf
tok.MoveNext
Wend
tok.Close
'dk.Close
db.Close
Select Case spoj.Count
Case Is > 0
a1 = Replace(spoj(1), vbCrLf, "")
a2 = Replace(spoj1(1), vbCrLf, "")
a3 = Replace(spoj2(1), vbCrLf, "")
a4 = Replace(spoj3(1), vbCrLf, "")
Case Is < 1
a1 = 0
a2 = 0
a3 = 0
a4 = 0
End Select
Excel.Visible = True
With Excel
.Worksheets(1).Range("a" & NROO + 220 & "") = intab1
.Worksheets(1).Range("b" & NROO + 220 & "") = spejgan(0)
.Worksheets(1).Range("c" & NROO + 220 & "") = Time
.Worksheets(1).Range("d" & NROO + 220 & "") = Replace(a1, ".", ",")
.Worksheets(1).Range("e" & NROO + 220 & "") = Replace(a2, ".", ",")
.Worksheets(1).Range("f" & NROO + 220 & "") = Replace(a3, ".", ",")
.Worksheets(1).Range("g" & NROO + 220 & "") = Replace(a4, ".", ",")
.Worksheets(1).Range("h" & NROO + 220 & "") = "s5"
'.Range("A3").Select
End With
invasko(NROO) = 1
SIGNALLA(NROO) = 0
End If
Set Excel = Nothing
End Function
********************************************************
Option Compare Database
Private Sub Form_Load()
Me.TimerInterval = 1
End Sub
***************
Sub form_timer()
Dim kalle As Form
Dim ska As String
Dim nuu As Variant
Static assa As Integer
Form.Visible = False
If assa Then
ska = oms.VBINKORN("vb3", "\\smo\euro\", 1, 5, 2)
Else
End If
assa = Not assa
End Sub