/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
VBA problem i Excel
Fra : Claus Pryds


Dato : 29-12-03 00:05

Håber at jeg spørger det rette sted, har ledt på Usenet.dk efter en VBA
gruppe men fandt ingen så hvis jeg er OT så på forhånd Sorry

Problem :
Jeg er ved at lave et lille rapport system som går ud på, at der indberettes
et arbejdskort/sagskort som gemmes i et ark med navnet Arbejdskort nr 1 og
det næste
arbejdeskort med Arbejdskort nr 2 osv.
I alle ark indeholder celle "A3" et sag nr, det samme sag nr kan godt
optræde i flere forskellige ark med arket vil altid have et unikt navn
(Arbejdskort nr ).

Systemet indeholder også en arkiverings funktion med tilhørende userform
arkiv funktionen skal først kopiere alle ark med ens sag nr i celle "A3" og
oprette en ny projektmappe med arkne og derefter slette dem i den
projektmappe hvor de kopieres fra !

Jeg har lavet denne rutine:

Private Sub cmdArkiv_Click()
Set wb = Workbooks.Add
ThisWorkbook.Sheets("Arbejdskort nr. " & CInt(txtsag_arkiv.Text)).Copy
Before:=wb.Sheets(1) ' dette duer ikke
For i = wb.Sheets.Count To 2 Step -1
Application.DisplayAlerts = False
wb.Sheets(i).Delete
Application.DisplayAlerts = True
Next i
End Sub

Som fungere fint så længe at der ikke findes mere end et ark hvor celle "A3"
indeholder det samme sag nr findes der flere ark med det samme sags nr
bliver de IKKE kopieret til den nye projektmappe

Spørgsmål :

Er der venlig sjæl der kan hjælpe mig lidt på vej med dette problem
Jeg kan regne ud at tricket må være at tjekke på indholdet af range("a3") i
hvert ark inden der kopieres, i stedet for på ark navnet men hvordan gør jeg
det ?





 
 
preben nielsen (29-12-2003)
Kommentar
Fra : preben nielsen


Dato : 29-12-03 07:52


"Claus Pryds" <clarke1@tdcadsl.dk> skrev i en meddelelse
news:3fef61cf$0$70014$edfadb0f@dread12.news.tele.dk...
> Håber at jeg spørger det rette sted, har ledt på Usenet.dk efter
en VBA
> gruppe men fandt ingen så hvis jeg er OT så på forhånd Sorry

Jeg har ikke lige tid til selv at kigge på ditr problem, men den
gruppe du søger er dk.edb.regneark Og ellers er der jo alle
grupperne på mictosofts newsserver msnews.microsoft.com, men de er
ikke på dansk.

--
/\ preben nielsen
\/\ prel@post.tele.dk



Harald Staff (29-12-2003)
Kommentar
Fra : Harald Staff


Dato : 29-12-03 23:56

Hei

Spesielt nemt er det ikke. Men prøv denne -jeg har endret kriteriet til 3
for testens skyld:

Private Sub cmdArkiv_Click()
Dim ws As Worksheet
Dim Navne As String
For Each ws In Worksheets
If ws.Range("a3").Value = 3 Then
Navne = Navne & ws.Name & ","
End If
Next ws
If Navne = "" Then Exit Sub
If InStr(Navne, ",") > 0 Then _
Navne = Left(Navne, Len(Navne) - 1)
Sheets(Split(Navne, ",")).Move
End Sub

Du skal ellers ta høyde for at "Sags nr. " & CInt(txtsag_arkiv.Text) i
brukernes hender godt kan være Sagsnr 4 , Sagsnr.4 , Sags Nr 4 , SagNr 4,
Sag4 , 4 og alle andre tenkelige varianter, så pass på det -vurder eventuelt
å flytte tallet til en egen celle B3.
--
HTH. Beste hilsen Harald
Followup to newsgroup only please

"Claus Pryds" <clarke1@tdcadsl.dk> skrev i melding
news:3fef61cf$0$70014$edfadb0f@dread12.news.tele.dk...
> Håber at jeg spørger det rette sted, har ledt på Usenet.dk efter en VBA
> gruppe men fandt ingen så hvis jeg er OT så på forhånd Sorry
>
> Problem :
> Jeg er ved at lave et lille rapport system som går ud på, at der
indberettes
> et arbejdskort/sagskort som gemmes i et ark med navnet Arbejdskort nr 1 og
> det næste
> arbejdeskort med Arbejdskort nr 2 osv.
> I alle ark indeholder celle "A3" et sag nr, det samme sag nr kan godt
> optræde i flere forskellige ark med arket vil altid have et unikt navn
> (Arbejdskort nr ).
>
> Systemet indeholder også en arkiverings funktion med tilhørende userform
> arkiv funktionen skal først kopiere alle ark med ens sag nr i celle "A3"
og
> oprette en ny projektmappe med arkne og derefter slette dem i den
> projektmappe hvor de kopieres fra !
>
> Jeg har lavet denne rutine:
>
> Private Sub cmdArkiv_Click()
> Set wb = Workbooks.Add
> ThisWorkbook.Sheets("Arbejdskort nr. " & CInt(txtsag_arkiv.Text)).Copy
> Before:=wb.Sheets(1) ' dette duer ikke
> For i = wb.Sheets.Count To 2 Step -1
> Application.DisplayAlerts = False
> wb.Sheets(i).Delete
> Application.DisplayAlerts = True
> Next i
> End Sub
>
> Som fungere fint så længe at der ikke findes mere end et ark hvor celle
"A3"
> indeholder det samme sag nr findes der flere ark med det samme sags nr
> bliver de IKKE kopieret til den nye projektmappe
>
> Spørgsmål :
>
> Er der venlig sjæl der kan hjælpe mig lidt på vej med dette problem
> Jeg kan regne ud at tricket må være at tjekke på indholdet af range("a3")
i
> hvert ark inden der kopieres, i stedet for på ark navnet men hvordan gør
jeg
> det ?
>
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste