Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122

    [vbscript]copiare fogli excel

    Ciao a tutti,
    ho un problema...
    premetto che non conosco bene ne la sintassi di excel ne del vb..perciò ho fatto quello che ho potuto piu di questo non riesco...sto impazzendo.
    ecco il problema:

    Ho tre file excel (A,B,C) devo copiare i tre fogli di A e B nei primi sei fogli di C
    tutto questo possibilmente in maniera non visibile all'utente.
    ho creato una macro che sembra fare questo (anche se in realtà occore che i file siano open e non copia nei primi sei ma ne scrive altri sei di fogli).
    da questa macro (opportunamente modificata in modo da non avere necessariamente i file aperti e in modo da non dublicare i fogli di C) grazie ai vostri suggerimenti (HELP!!) vorrei generare un vbscript che poi andrò a chiamare in una pagina ASP in quanto il lavoro sarà fatto tutto lato server.

    ecco il codice che ho partorito!
    ' nel thisWorkBook
    Private Sub Workbook_Open()
    Call Mover
    Me.Save
    Application.Quit
    End Sub

    ' in un modulo


    Sub Mover()

    Dim WB1, WB2, WB3 As Workbook
    Dim SH1WB1, SH2WB1, SH3WB1, SH1WB2, SH2WB2, SH3WB2, SH1WB3, SH2WB3, SH3WB3 As Worksheet

    Set WB3 = Workbooks("Test.xls")

    Set WB1 = Workbooks("Book1.xls")
    Set SH1WB1 = WB1.Sheets("Sheet1")
    Set SH2WB1 = WB1.Sheets("Sheet2")
    Set SH3WB1 = WB1.Sheets("Sheet3")

    Set WB2 = Workbooks("Book2.xls")
    Set SH1WB2 = WB2.Sheets("Sheet1")
    Set SH2WB2 = WB2.Sheets("Sheet2")
    Set SH3WB2 = WB2.Sheets("Sheet3")


    With WB3
    SH1WB1.Copy after:=.Sheets(.Sheets.Count)
    SH2WB1.Copy after:=.Sheets(.Sheets.Count)
    SH3WB1.Copy after:=.Sheets(.Sheets.Count)
    SH1WB2.Copy after:=.Sheets(.Sheets.Count)
    SH2WB2.Copy after:=.Sheets(.Sheets.Count)
    SH3WB2.Copy after:=.Sheets(.Sheets.Count)
    End With


    End Sub


    thanks!
    Mi raccomando!...in generale...

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122
    Dai aiuto!! ci sono quasi..mi resta solo incollare i fogli copiati ecco il codice:


    Sub Mover()

    Dim WB1, WB2, WB3 As Excel.Workbook
    Dim SH1WB1, SH2WB1, SH3WB1, SH1WB2, SH2WB2, SH3WB2, SH1WB3, SH2WB3, SH3WB3 As Excel.Worksheet

    Dim obEx1, obEx2, obEx3 As Excel.Application

    Set obEx1 = New Excel.Application
    Set obEx2 = New Excel.Application
    Set obEx3 = New Excel.Application

    Set WB3 = obEx3.Workbooks.Open("D:\Test.xls") 'Workbooks("Test.xls")

    Set WB1 = obEx1.Workbooks.Open("D:\Book3.xls") 'Workbooks("Book1.xls")
    Set SH1WB1 = WB1.Sheets("Sheet1")
    Set SH2WB1 = WB1.Sheets("Sheet2")
    Set SH3WB1 = WB1.Sheets("Sheet3")

    Set WB2 = obEx2.Workbooks.Open("D:\Book2.xls") 'Workbooks("Book2.xls")
    Set SH1WB2 = WB2.Sheets("Sheet1")
    Set SH2WB2 = WB2.Sheets("Sheet2")
    Set SH3WB2 = WB2.Sheets("Sheet3")




    With WB3
    SH1WB1.Copy Before:=.Sheets(.Sheets.Count)
    SH2WB1.Copy Before:=.Sheets(.Sheets.Count)
    SH3WB1.Copy Before:=.Sheets(.Sheets.Count)
    SH1WB2.Copy Before:=.Sheets(.Sheets.Count)
    SH2WB2.Copy Before:=.Sheets(.Sheets.Count)
    SH3WB2.Copy Before:=.Sheets(.Sheets.Count)
    End With


    End Sub


    MA va in errore nel blocco
    With WB3
    SH1WB1.Copy Before:=.Sheets(.Sheets.Count)
    SH2WB1.Copy Before:=.Sheets(.Sheets.Count)
    SH3WB1.Copy Before:=.Sheets(.Sheets.Count)
    SH1WB2.Copy Before:=.Sheets(.Sheets.Count)
    SH2WB2.Copy Before:=.Sheets(.Sheets.Count)
    SH3WB2.Copy Before:=.Sheets(.Sheets.Count)
    End With



    Mi viene da piangere!
    Mi raccomando!...in generale...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.