17. september 2003 - 14:59Der er
16 kommentarer og 1 løsning
validering af indhold
hvordan får man vba til at sammenligne data i en txt-fil og et array i regnearket, så hvis man trykker på den gem-knap jeg har lavet, vil den poppe op (eksempelvis) og exit sub, hvis fil og array stemmer overens?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
ka du ik smide noget kode op...jeg er efterhånden ved at være ret godt inde i VBA og excel, men problemet er jo at tekstfilen IKKE skal indlæses i arket, hvis indholdet i denne og et område på arket er nøjagtig de samme...
Hvis de bare skal sammenlignes i deres helhed var det da nemmere at indlæse data fra filen så man var fri for at taste dem ind..... Jeg tror måske du mener, at det der tastes ind skal være en delmængde af det der står i filen. Skifter filen indhold over tid? Hvis du vil have mere konkret hjælp skal du beskrive problemstillingen noget mere udførligt.
Det handler om timeregistrering en bruger taster nogle data ind, som bliver gemt som en tabulatorsepareret fil vha. en knap. en anden knap henter disse data ind igen vha. kopier-sæt-ind. en tredje knap gemmer data som tabulatorsepareret fil og emailer denne fil. Problemet er, at brugerne gerne må sende flere filer med samme navn, men ikke med samme indhold. Så hvis man har indtastet timer for eks. mandag og har sendt dem, og man så onsdag taster for tirsdag OG onsdag, må man gerne kunne sende denne fil, men ikke hvis indholdet er det samme som en allerede gemt fil...håber i forstår
Det lyder som om du gør en nem problemstilling svær, nem lad os i første omgang se bort fra det.
Resume
1. Person inddatere sine timer resultat gemmes i en fil. 2. Person indlæser timerne i sit eget regneark og kontrollere at de ikke allerede findes. Spørgsmål: Har du ikke et medarbejdernummer og registringsdato i din tabulatorsepareret fil som kan bruges som nøgler ved validering?
Det er intet problem at få vba til at sammenligne filnavn.
________________________________________________ Sub check_dublet()
' her checker jeg om filen man er ved at gemme allerede eksisterer, hvis den gør, afbryder den a = Dir("c:\timeregistrering\" & Range("init").Value & "\*.txt")
If a = Range("init").Value & " " & Range("uge").Value & "s" & ".txt" Then MsgBox "Du har allerede gemt for denne uge!", vbCritical Exit Sub End If
End Sub ____________________________________
din 2.'er er forkert. Bruger checker ikke at de allerede findes...
et eksempel på hvordan man kan sammenligne uden at læse tekstfilen ind i regneark, men istadet ind i et variantarray
Sub test() Dim i As Long, b As Long Dim x As Variant Dim y As String Open "c:\bookxxx.txt" For Input As #1 While Not EOF(1) Line Input #1, y b = b + 1 x = Split(y, Chr(9)) For i = LBound(x) To UBound(x) If x(i) <> Cells(b, i + 1).Text Then MsgBox "Der er en forskel" GoTo Forskel End If Next
Wend Close #1 MsgBox "Ingen forskel" Exit Sub Forskel:
Close #1 ActiveWorkbook.SaveAs "cncncncncn" End Sub
Nu er det jo kun et eksempel, du kan arbejde videre ud fra. Jeg kender ikke resten af din kode.
Her sammenlignes kun A1,b1,c1 på det aktive ark med 1,2 og 3. værdi i tekstfilen
Sub test() Dim i As Long, b As Long Dim x As Variant Dim y As String Open "c:\bookxxx.txt" For Input As #1 'While Not EOF(1) Line Input #1, y b = b + 1 x = Split(y, Chr(9)) For i = LBound(x) To 2 If x(i) <> Cells(b, i + 1).Text Then MsgBox "Der er en forskel" GoTo Forskel End If Next
'Wend Close #1 MsgBox "Ingen forskel" Exit Sub Forskel:
Close #1 ActiveWorkbook.SaveAs "cncncncncn" End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.