Avatar billede gonzoo Nybegynder
27. november 2000 - 08:44 Der er 36 kommentarer og
1 løsning

HVAD ER DER GALT MED DENNE KODE

Private Sub CommandButton14_Click()
Application.ScreenUpdating = False
Dim Name As String
Dim Path As String
  If Range(\"AE50\").Value = \"\" Then
  Application.CutCopyMode = False
  Range(\"AF1:AU43\").Select
  Selection.Copy
ElseIf Range(\"AE93\").Value = \"\" Then
  Range(\"AF1:AU86\").Select
  Selection.Copy
ElseIf Range(\"AE136\").Value = \"\" Then
  Range(\"AF1:AU129\").Select
  Selection.Copy
ElseIf Range(\"AE179\").Value = \"\" Then
  Range(\"AF1:AU172\").Select
  Selection.Copy
ElseIf Range(\"AE216\").Value = \"\" Then
  Range(\"AF1:AU215\").Select
  Selection.Copy
End If
  Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\"
  Name = Worksheets(\"Ark1\").Range(\"AO4\")
  MsgBox Path + Name + \".txt\"
  ActiveWorkbook.SaveAs Filename:= _
  Path + Name + \".txt\", FileFormat:=xlValues, _
  CreateBackup:=False
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
  False, Transpose:=False
  Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
Meningener at gemme arket som det ser ud men kun værdier ikke formler og filnavnet skal være værdien i celle AO4 men denne kode jeg har lavet virker ikke håber der er nogle som kan hjælpe mvh gonzoo
Avatar billede powell Nybegynder
27. november 2000 - 09:13 #1
Efter \"Name = Worksheets(\"Ark1\").Range(\"AO4\")\" hvad indeholder Name da? (prøv med en msgbox(name)).
Udfører koden din IF then (og elseif) som den skal?

Avatar billede gonzoo Nybegynder
27. november 2000 - 09:55 #2
NDHOLDET I A04 ER ET NUMMERGENERATOR DER TÆLLER ET NR OP HVER GANG JEG ÅBNER ET NYT ARK MSGBOXEN ER BARE EN TEST KODEN KØRER GOD TIL DENNE DEREFTER MARKER DET FØLGENDE MED GUL
ActiveWorkbook.SaveAs Filename:= _
  Path + Name + \".txt\", FileFormat:=xlValues, _
  CreateBackup:=False KAN DET VÆRE STIEN SOM ER FORKER ELLER ER \".txt\",EN FORKER ANGIVELSE ?
Avatar billede powell Nybegynder
27. november 2000 - 10:15 #3
Hvad skriver den før den kommer med den gule markering?

Eftersom jeg ikke lige har VB installeret på denne computer, kan jeg ikke afprøve din kode.

Jeg tror ikke at det er en forkert angivelse, mere at det kan være stien det er galt med eller at programmet mangler et object.
Avatar billede gonzoo Nybegynder
27. november 2000 - 10:21 #4
Jeg har fundet en fejl der er cell I1 som skal være filnavnet og det er bare et indtastet ordre nr.fejlmelding er
runtime-error 1004
method SaveAs`vorkbook` Failet
Avatar billede powell Nybegynder
27. november 2000 - 10:29 #5
Du har ikke lov til at udføre en direkt IO med den fil.

Filen du åbner er åbnet for en sekvential adgang, eller den logiske records længde er specificeret til at være 0.

Se fejl typer her:
http://www.sns.ias.edu/Main/computing/compilers_html/fortran/user_guide/A_messages.doc.html
Avatar billede gonzoo Nybegynder
27. november 2000 - 10:54 #6
Hvad er en IO? kunne løsningen være at mit ark blev lavet om til en skabelon .Jeg har en skabelon Hvor jeg bruger en kode lignende men det bliver gemt i Wordpad og det ender med en omgang rod da det kun er tekst og der er en hel del ikoner (Bitmap) og de skulle gerne med ,samt gitterlinjerne.
Avatar billede gonzoo Nybegynder
27. november 2000 - 10:58 #7
jeg har prøvet at ændre filfoemat til text og så bliver arket omdøbt til ordrenummeret i celle I1
Avatar billede powell Nybegynder
27. november 2000 - 11:00 #8
IO = I/O, in/out, en kommunikation mellem to objekter.

Du forsøger at gemme noget, som du ikke for lov til. Kan det mske skyldes at saveas og activeworkbook ikke fungerer rigtigt sammen. Jeg ved ikke om en skabelon kan løse dit problem, prøv.
Avatar billede gonzoo Nybegynder
27. november 2000 - 12:35 #9
Den med skabelonen gik heller ikke, er der en anden metode til at gemme et regneark ?
Avatar billede powell Nybegynder
27. november 2000 - 13:02 #10
En opsummering, så vi ikke går forkært af hinanden.

Det du ønsker er at tage alle værdierne fra et regneark(så formler og lig. bliver sorteret fra) gemme disse værdier i et anden regneark og gemme denne som en ny fil.
Avatar billede gonzoo Nybegynder
27. november 2000 - 13:21 #11
Ja, det er et område af regnearket der er = med mit udskrivnings område .det vil sige hvis det viser sig der er en fejl i udregningen der først kommer frem senere vil jeg gerne kunne udskrive det igen ,kan det tænkes det kan gemmes som et fragment ,hviket der vil være nok jeg sender hele koden så du kan se meningen med det hele .
Private Sub CommandButton2_Click()
    msg = msg & \"ER DU SIKKER PÅ DU VIL SLETTE og GEMME ?\"
svar = MsgBox(msg, vbOKCancel, \" HAR DU UDSKREVET ? \")
If svar = vbOK Then
End If
If svar = vbCancel Then
Exit Sub
End If
Application.ScreenUpdating = False
   
  Range(\"C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6\").Select
    Range(\"AI6\").Activate
    Range( _
    \"C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29\" _
        ).Select
    Range(\"AP20\").Activate
        Range( _
        \"C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41\" _
        ).Select
    Range(\"AO41\").Activate
      Range( _
        \"C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL59,AN50:AN60,AO60,AP51:AU60\" _
        ).Select
    Range(\"AP51\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL59,AN50:AN60,AO60,AP51:AU60,AE62:AE72\" _
        ), Range(\"AG63:AL72,AN62:AN72\")).Select
    Range(\"AP63\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60\" _
        ), Range(\"AF72,AG63:AL72,AN62:AN72\")).Select
    Range(\"AG74\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41\" _
        ), Range( _
        \"AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\" _
        )).Select
    Range(\"AO84\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29\" _
        ), Range( _
        \"AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\" _
        )).Select
    Range(\"AP94\").Activate
      Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17\" _
        ), Range( _
        \"AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\" _
        )).Select
    Range(\"AP106\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,AN116:AU116,AE117:AE127,AF127,AG118:AL127\" _
        ), Range( _
        \"AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL59,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\" _
        )).Select
    Range(\"AP118\").Activate
      Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,AN116:AU116,AE117:AE127,AF127,AG118:AL127\" _
        ), Range( _
        \"AF146,AG137:AL146,AN136:AN146,AO146,AP137:AU146,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60\" _
        ), Range(\"AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\")).Select
    Range(\"AP137\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,AN116:AU116,AE117:AE127,AF127,AG118:AL127\" _
        ), Range( _
        \"AF146,AG137:AL146,AN136:AN146,AO146,AP137:AU146,AE148:AE158,AF158,AG149:AL158,AN148:AN158,AO158,AP149:AU158,AN159:AU159,AE160:AE170,AF170,AG161:AL170,AN160:AN170,AP161:AU170,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29\" _
        ), Range( _
        \"AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\" _
        )).Select
    Range(\"AP161\").Activate
      Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,AN116:AU116,AE117:AE127,AF127,AG118:AL127\" _
        ), Range( _
        \"AF146,AG137:AL146,AN136:AN146,AO146,AP137:AU146,AE148:AE158,AF158,AG149:AL158,AN148:AN158,AO158,AP149:AU158,AN159:AU159,AE160:AE170,AF170,AG161:AL170,AN160:AN170,AP161:AU170,AE179:AE189,AF189,AG180:AL189,AI178:AO178,AN179:AN189,AO189,AP180:AU189,C1\" _
        ), Range( _
        \"AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\" _
        )).Select
    Range(\"AP180\").Activate
      Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,AN116:AU116,AE117:AE127,AF127,AG118:AL127\" _
        ), Range( _
        \"AF146,AG137:AL146,AN136:AN146,AO146,AP137:AU146,AE148:AE158,AF158,AG149:AL158,AN148:AN158,AO158,AP149:AU158,AN159:AU159,AE160:AE170,AF170,AG161:AL170,AN160:AN170,AP161:AU170,AE179:AE189,AF189,AG180:AL189,AI178:AO178,AN179:AN189,AO189,AP180:AU189\" _
        ), Range( _
        \"AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60,AF60,AG51:AL60,AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72\" _
        )).Select
    Range(\"AN202\").Activate
        Union(Range( _
        \"AO72,AP63:AU72,AG74:AG84,AE74:AE84,AF84,AG75:AL84,AN74:AN84,AN73:AU73,AP75:AU84,AO84,AI92:AO92,AE92:AE103,AF103,AG94:AL103,AN93:AN103,AO103,AP94:AU103,AE105:AE115,AF115,AG106:AL115,AN105:AN115,AO115,AP106:AU115,AN116:AU116,AE117:AE127,AF127,AG118:AL127\" _
        ), Range( _
        \"AF146,AG137:AL146,AN136:AN146,AO146,AP137:AU146,AE148:AE158,AF158,AG149:AL158,AN148:AN158,AO158,AP149:AU158,AN159:AU159,AE160:AE170,AF170,AG161:AL170,AN160:AN170,AP161:AU170,AE179:AE189,AF189,AG180:AL189,AI178:AO178,AN179:AN189,AO189,AP180:AU189\" _
        ), Range( _
        \"AF213,AG204:AL212,AL212,AG213:AL213,AN203:AN213,AP204:AU213,AO213,C1,AE7:AE17,AF17,AG8:AL17,AN7:AN17,AO17,AP8:AU17,AI6:AO6,AE19:AE29,AF29,AG20:AL29,AN19:AN29,AO29,AP20:AU29,AE31:AE41,AF41,AG32:AL41,AN31:AN41,AN30:AU30,AP32:AU41,AO41,AI49:AO49,AE50:AE60\" _
        ), Range(\"AN50:AN60,AO60,AP51:AU60,AE62:AE72,AF72,AG63:AL72,AN62:AN72\")).Select
    Range(\"AO213\").Activate
    Selection.ClearContents
        Range(\"C1\").Select
  Range(\"C1,F1,I1,C3,I3,C5,C6,C7,C10:C13,I9,I12:I13,I17,C17\").Select
    Range(\"C17\").Activate
      Range( _
        \"C1,F1,I1,C3,I3,C5,C6,C7,C10:C13,I9,I12:I13,I17,C17,C19:C20,I19,I19:I20,I24:I27,C22,C25:C27,C29,C32,I31,I33\" _
        ).Select
    Range(\"I33\").Activate
        Range( _
        \"C1,F1,I1,C3,I3,C5,C6,C7,C10:C13,I9,I12:I13,I17,C17,C19:C20,I19,I19:I20,I24:I27,C22,C25:C27,C29,C32,I31,I33,C34,C35,I34,I35,I36\" _
        ).Select
    Range(\"I36\").Activate
        Union(Range( _
        \"C63,C66,C68,I63,I66,I68,C1,F1,I1,C3,I3,C5,C6,C7,C10:C13,I9,I12:I13,I17,C17,C19:C20,I19,I19:I20,I24:I27,C22,C25:C27,C29,C32,I31,I33,C34,C35,I34\" _
        ), Range(\"I35,I36,C50,C54:C57,I53:I54,I56:I57\")).Select
    Range(\"I68\").Activate
        Union(Range( _
        \"C63,C66,C68,I63,I66,I68,C69,I69,C1,F1,I1,C3,I3,C5,C6,C7,C10:C13,I9,I12:I13,I17,C17,C19:C20,I19,I19:I20,I24:I27,C22,C25:C27,C29,C32,I31,I33,C34\" _
        ), Range(\"C35,I34,I35,I36,C50,C54:C57,I53:I54,I56:I57\")).Select
    Range(\"I69\").Activate
        Union(Range( _
        \"C63,C66,C68,I63,I66,I68,C69,I69,C75,C80:C81,I75,I80:I81,C1,F1,I1,C3,I3,C5,C6,C7,C10:C13,I9,I12:I13,I17,C17,C19:C20,I19,I19:I20,I24:I27,C22,C25:C27,C29\" _
        ), Range(\"C32,I31,I33,C34,C35,I34,I35,I36,C50,C54:C57,I53:I54,I56:I57\")).Select
    Range(\"I80\").Activate
    Selection.ClearContents
        Range(\"K1:K25\").Select
    Selection.ClearContents
    Range(\"AG51:AL59,AN202:AT202,AN117\").Select
    Range(\"AN117\").Activate
    Selection.ClearContents
      Range(\"C1\").Select
    ActiveWindow.SmallScroll ToRight:=-1
Dim Name As String
Dim Path As String
  If Range(\"AE50\").Value = \"\" Then
  Application.CutCopyMode = False
  Range(\"AF1:AU43\").Select
  Selection.Copy
ElseIf Range(\"AE93\").Value = \"\" Then
  Range(\"AF1:AU86\").Select
  Selection.Copy
ElseIf Range(\"AE136\").Value = \"\" Then
  Range(\"AF1:AU129\").Select
  Selection.Copy
ElseIf Range(\"AE179\").Value = \"\" Then
  Range(\"AF1:AU172\").Select
  Selection.Copy
ElseIf Range(\"AE216\").Value = \"\" Then
  Range(\"AF1:AU215\").Select
  Selection.Copy
End If
  Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\"
  Name = Worksheets(\"Ark1\").Range(\"I1\")
  MsgBox Path + Name + \".txt\"
  ActiveWorkbook.SaveAs Filename:= _
  Path + Name + \".txt\", FileFormat:=xlText, _
  CreateBackup:=False
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
  False, Transpose:=False
  Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
Avatar billede gonzoo Nybegynder
27. november 2000 - 13:25 #12
Hovsa det med at gemme skal selvfølgelig ligge først i koden
Avatar billede powell Nybegynder
27. november 2000 - 13:54 #13
Mine formådninger er desværre rigtige, du kan ikke bruge ActiveWorkBook og SaveAs sammen, ActiveWorkBook er en \"hente\" protocol, som kan hente en masse fra tabellerne, men kan ikke gemme. Disse ting fandt jeg udaf ved at læse i den link jeg har lagt ved.

Du skal finde en anden kommando, jeg har ikke mulighed for at finde den, da jeg lige nu sider på mit arbejde.

http://msdn.microsoft.com/library/officedev/office97/web/013.htm
Avatar billede gonzoo Nybegynder
27. november 2000 - 14:32 #14
jeg har prøvet med save istedet for saveas ,og det virker heller ikke ,jeg er ikke god til engelsk så jeg får ikke meget ud af at læse på det link du har sendt, hvis du kan hjælpe når du kommer hjem kan jeg godt vente på det, for koden virker så dukomentet bliver omdøbt til det nye filnavn men det bliver ikke gemt jeg er også i tvivl om
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
  False, Transpose:=False
  Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
er rigtig ,hvad nu hvis man vil gemme som et fragment .Problemet er hvis jeg gemmer det hele vil jeg snart have opbrugt min kapacitet på computeren .denne kode er bare en af 22 stk og jeg har ca 10-15 ordre hver dag.MVH Gonzoo ;o)
Avatar billede gonzoo Nybegynder
27. november 2000 - 17:15 #15
i denne kode virker det gotnok hvorfor ?
Avatar billede gonzoo Nybegynder
28. november 2000 - 07:22 #16
hovsa her er den
Dim Name As String
Dim Path As String
    Range(\"A2:K42\").Select
    ActiveWindow.SmallScroll Down:=-9
    Selection.Copy
    Application.CutCopyMode = False
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
        :=True
    Path = \"C:\\WINDOWS\\Skrivebord\\REKVISITION\\\"
    Name = Worksheets(\"Ark1\").Range(\"A3\")

      MsgBox Path + Name + \".txt\"

    ActiveWorkbook.SaveAs Filename:= _
    Path + Name + \".txt\", FileFormat:=xlText, _
    CreateBackup:=False

    Range(\"A3,H12,C22:K42\").Select
    Range(\"C22\").Activate
    Selection.ClearContents
    Range(\"A3\").Select
End Sub

Avatar billede powell Nybegynder
28. november 2000 - 07:32 #17
Jeg har nu læst noget mere: http://techinfo.sybase.com/css/techinfo.nsf/DocID/ID=47867

Du skal prøve det eksempel der er i denne kode, så vil du kunne se at du først må gemme når du har en gyldig kommunikation oprettet mellem VB og Excel. Det du har nu er kun en \"læse\" mulighed og ikke en læse/skrive mulighed.
Avatar billede gonzoo Nybegynder
28. november 2000 - 09:52 #18
Ikke forstået, det er da ikke al den kode som stå i eksemplet men en komando til at åbne skrive/gemme dialogen,og hvad er den ?
Avatar billede powell Nybegynder
28. november 2000 - 09:59 #19
Du skrev selv at det kode du har her over virkede, det minder meget om det kode jeg selv fandt frem til. Kan du se hvad forskellen er?

OK, det jeg ser du gør i dit lange kode, du har et objekt, du ønsker at gemme, men du har ikke tildelt dette objekt til noget så derfor for du en fejl. I det stykke du har herover tildeler du objektet en position via din ActiveWindow komando. (præcis som det eksempel jeg også lage et link til), og det er derfor det nok ikke virker efter hendsikten.
Avatar billede gonzoo Nybegynder
28. november 2000 - 12:57 #20
nu har jeg fået koden til at køre men den bliver kun gent som text og ikke som værdier og formater
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
  False, Transpose:=False
  Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False  og der meldes fejl ved de 2 sidste linier men der er måske fordi det bliver gemt som text først? jeg har set i en bog og fundet en metode til at åbne filer med hvor der bruges dette tegn # mvh Gonzoo :-(
Avatar billede powell Nybegynder
28. november 2000 - 13:10 #21
Jeg har puslet lidt med kære gamle OLE. og er kommet frem til dette søde eksembel:

Håber du kan se noget i det, for ellers er jeg ved at løre fast.

Dim xl as Object

\'Åbner Excell
Set xl  = CreateObject(\"Excell.Sheet\")

\'Overfører værdier til excel fra to tekstfelter
xl.Range(\"A1\").value = txtX.Text
xl.Range(\"A2\").value = txtY.Text

\'Beregning i tredje celle (regner om til radianer og grader)

xl.Range (\"A3\").Formula =\"=ATAN2(A1, A2)\"
xl.Range (\"A4\").Formula =\"=A3*180/PI()\"

\'Vis resultatet i VB i to labels
lblRadians.Caption = xl.Range(\"A3\").value
lblDegrees.Caption = xl.Range(\"A4\").value

\'Fjern fra Hukommelsen
Set xl = Nothing
Avatar billede powell Nybegynder
28. november 2000 - 13:12 #22
Jeg har fuldstændig glemt at den skal gemmes i Excell. Kikker lige om jeg kan finde en løsning mere...
Avatar billede gonzoo Nybegynder
28. november 2000 - 14:38 #23
nu ser koden sådan ud og den virker. bortset fra min sti kommer ikke med, men det bliver gemt som mappe 1 i excell og som værdier og formater jeg har understreget ændringen.
Range(\"AF1:AU43\").Select
  Selection.Copy
ElseIf Range(\"AE93\").Value = \"\" Then
  Range(\"AF1:AU86\").Select
  Selection.Copy
ElseIf Range(\"AE136\").Value = \"\" Then
  Range(\"AF1:AU129\").Select
  Selection.Copy
ElseIf Range(\"AE179\").Value = \"\" Then
  Range(\"AF1:AU172\").Select
  Selection.Copy
ElseIf Range(\"AE216\").Value = \"\" Then
  Range(\"AF1:AU215\").Select
  Selection.Copy
End If
  Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\"
  Name = Worksheets(\"Ark1\").Range(\"I1\")
  MsgBox Path + Name + \".txt\"
  Workbooks.Add
------------------ 
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.Close
-------------------------
End Sub
Avatar billede powell Nybegynder
28. november 2000 - 14:51 #24
Den nemme løsning på dit problem er jo så nu blot at lave en kopi af filen til den mappe den skal lægges i, lav en navn ændring på filen og slet filen i excell mappen.
Avatar billede gonzoo Nybegynder
29. november 2000 - 07:31 #25
Ja men er vi så ikke der hvor vi startede. koden kunne ikke gemme automatisk .da vi er fler der bruger den tør jeg ikke løbe den risiko at arket ikke bliver gemt.det må da for pokker kunne lade sig gøre men problemet er tilsyneladende ikke så nemt at løse kender du komandoen
For input As #1  det er noget jeg hr set i en bog
Avatar billede powell Nybegynder
29. november 2000 - 08:17 #26
Avatar billede gonzoo Nybegynder
29. november 2000 - 09:47 #27
JEG PRØVER LIGE
Avatar billede gonzoo Nybegynder
29. november 2000 - 13:11 #28
det er ikke lykkedes endnu jeg forstår det nok ikke rigtig .der må være noget galt med den forb...... syntax som jeg skrev tidliger er jeg ikke god til engelsk og det er nok derfor jeg ikke fatter det mvh Gonzoo ;o(
Avatar billede guldner Nybegynder
29. november 2000 - 21:11 #29
Jeg har ikke helt forstået hvad det er du gerne vil. Kan du forklare det mere udførligt?
- Vil du gemme hele workbook\'en som txt-fil? I så fald skal du være opmærksom på at man kun kan gemme et ark. Det vil blive det aktive, hvis du ikke angiver andet.
Prøv: ActiveWorkbook.SaveAs FileName:= _
  Path + Name + \".txt\", FileFormat:=xlText, _
  CreateBackup:=False
- Eller vil du gemme værdierne i et bestemt Range i en txt-fil? Og ellers ikke ændre workbook\'en?
Prøv: Workbooks.Add
      Selection.PasteSpecial Paste:=xlValues
      ActiveWorkbook.SaveAs FileName:= _
      Path + Name + \".txt\", FileFormat:=xlText, _
      CreateBackup:=False

Jeg tror ikke det du vil er så svært, men jeg skal lige forstå det rigtigt.
Avatar billede gonzoo Nybegynder
30. november 2000 - 09:06 #30
Min koder ser sådan ud nu(efter en uges arbejde)
Dim Name As String
Dim Path As String
  If Range(\"AE50\").Value = \"\" Then
  Application.CutCopyMode = False
  Range(\"AE1:AU43\").Select
  Selection.Copy
ElseIf Range(\"AE93\").Value = \"\" Then
  Range(\"AE1:AU86\").Select
  Selection.Copy
ElseIf Range(\"AE136\").Value = \"\" Then
  Range(\"AE1:AU129\").Select
  Selection.Copy
ElseIf Range(\"AE179\").Value = \"\" Then
  Range(\"AE1:AU172\").Select
  Selection.Copy
ElseIf Range(\"AE216\").Value = \"\" Then
  Range(\"AE1:AU215\").Select
  Selection.Copy
End If
  Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\"
  Name = Worksheets(\"Ark1\").Range(\"I1\")
  MsgBox Path + Name + \".txt\"
  Workbooks.Add
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.Close
End Sub
og den gør næsten som den skal det eneste der mangler er at gemme den under filnavnet som står i celle \"I1\" men under et førsøg forsvandt fil nr og stin det jeg gerne vil er at døbe filen og gemme den special altså som xlværdier og formater det der skal ske når jeg trykker på knappen er koden undersøger hvor mange sider der er brugt (op til 5 sider)og det er det den første del af koden undersøger derefter markerer jeg det område som skal gemmes efte det skal stien (\"Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\") åbnes og så skal de markerede sider gemmes som værdier og formater så kan jeg hente dem senere og udskrive dem ,Det hele ligger på et ark så det skulle ikke være problemet jeg håber det er forklaring nok  mvh Gonzoo
Avatar billede guldner Nybegynder
30. november 2000 - 10:00 #31
Jeg tror ikke du kan gemme arket som .txt-fil og forvente at formateringen bevares. Du må nok gemme som .xls-fil
(Vær også opmærksom på at du ændrer arkets navn (fanen) ved at skrive
Name = Worksheets(\"Ark1\").Range(\"I1\") , fordi Name er en egenskab/property til det aktive ark.)

Prøv:
---
  Name = Worksheets(\"Ark1\").Range(\"I1\")
\'  MsgBox Path + Name + \".xls\"
  Workbooks.Add
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWorkbook.SaveAs FileName:= _
      Path + Name
    ActiveWindow.Close
End Sub
Avatar billede gonzoo Nybegynder
30. november 2000 - 11:12 #32
NU GEMMER DEN RIGTIG BORTSET FRA STIEN MANGLER HVOR SKAL DEN SÆTTE IND
Avatar billede powell Nybegynder
30. november 2000 - 11:40 #33
Stien burde blive gemt i ActiveWorkbook.SaveAs FileName:= Path + Name. Undersøg hvad du har kastet over i variablen Path.
Avatar billede guldner Nybegynder
30. november 2000 - 11:40 #34
Du skal lige have
Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\"
med inden
Name = Worksheets(\"Ark1\").Range(\"I1\")

Jeg havde bare ikke kopieret sætningen med.
Avatar billede gonzoo Nybegynder
30. november 2000 - 11:57 #35
End If
  Path = \"C:\\WINDOWS\\Skrivebord\\Danlamin\\Reg 2000\\\"
  Name = Worksheets(\"Ark1\").Range(\"I1\")
  MsgBox Path + Name + \".txt\"
  Workbooks.Add
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.Close
End Sub
koden ser sådan ud nu men den bliver gamt som mappe 1 2 3 osv under dukomenter hvorfor det?
Avatar billede powell Nybegynder
30. november 2000 - 12:01 #36
Du mangler denne:
ActiveWorkbook.SaveAs FileName:= Path + Name

Før din ActiveWindow.Close
Avatar billede gonzoo Nybegynder
30. november 2000 - 12:44 #37
så nu virke det sandelig, hele min dag er reddet og solen skinner  ;O)  mange hilsner gonzooooooo
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester