Note: The other languages of the website are Google-translated. Back to English

Conas macra a reáchtáil ag an am céanna ar fud iliomad comhad leabhar oibre?

An t-alt seo, labhróidh mé faoi conas macra a reáchtáil ar fud iliomad comhad leabhar oibre ag an am céanna gan iad a oscailt. Is féidir leis an modh seo a leanas cabhrú leat an tasc seo a réiteach in Excel.

Rith macra ag an am céanna ar fud iliomad leabhar oibre le cód VBA


Rith macra ag an am céanna ar fud iliomad leabhar oibre le cód VBA

Chun macra a reáchtáil ar fud iliomad leabhar oibre gan iad a oscailt, cuir an cód VBA seo a leanas i bhfeidhm:

1. Coinnigh síos an ALT + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.

2. Cliceáil Ionsáigh > Modúil, agus greamaigh an macra seo a leanas sa Modúil Fuinneog.

Cód VBA: Rith an macra céanna ar iliomad leabhar oibre ag an am céanna:

Sub LoopThroughFiles()
    Dim xFd As FileDialog
    Dim xFdItem As Variant
    Dim xFileName As String
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    If xFd.Show = -1 Then
        xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
        xFileName = Dir(xFdItem & "*.xls*")
        Do While xFileName <> ""
            With Workbooks.Open(xFdItem & xFileName)
                'your code here
            End With
            xFileName = Dir
        Loop
    End If
End Sub

nótaí: Sa chód thuas, cóipeáil agus greamaigh do chód féin gan an Fo ceannteideal agus Fo Deireadh buntásc idir an Le Leabhair Oibre.Open (xFdItem & xFileName) agus Deireadh Le scripteanna. Féach an pictiúr:

rith macro comhaid iolracha 1

3. Ansin brúigh F5 eochair chun an cód seo a fhorghníomhú, agus a Brabhsáil taispeántar an fhuinneog, roghnaigh fillteán le do thoil ina bhfuil na leabhair oibre a theastaíonn uait go léir an macra seo a chur i bhfeidhm, féach an scáileán:

rith macro comhaid iolracha 2

4. Agus ansin cliceáil OK cnaipe, déanfar an macra atá ag teastáil a fhorghníomhú ag an am céanna ó leabhar oibre amháin go leabhar eile.

 


Na hUirlisí Táirgiúlachta Oifige is Fearr

Réitíonn Kutools for Excel an chuid is mó de do chuid Fadhbanna, agus Méadaíonn sé do Tháirgiúlacht 80%

  • Athúsáid: Cuir isteach go tapa foirmlí casta, cairteacha agus aon rud a d'úsáid tú roimhe seo; Cealla a Chriptiú le pasfhocal; Cruthaigh Liosta Ríomhphoist agus seol ríomhphoist ...
  • Barra Foirmle Super (cuir línte iolracha téacs agus foirmle in eagar go héasca); Leagan Amach Léitheoireachta (líon mór cealla a léamh agus a chur in eagar go héasca); Greamaigh go dtí an Raon Scagtha...
  • Cumaisc Cealla / Sraitheanna / Colúin gan Sonraí a chailleadh; Ábhar Cealla Scoilt; Comhcheangail Sraitheanna / Colúin Dúblacha... Cill Dúblach a Chosc; Déan comparáid idir Ranganna...
  • Roghnaigh Dúblach nó Uathúil Sraitheanna; Roghnaigh Blank Rows (tá na cealla uile folamh); Aimsigh Super agus Fuzzy Aimsigh i go leor Leabhar Oibre; Roghnaigh go randamach ...
  • Cóip Díreach Cealla Il gan tagairt fhoirmle a athrú; Tagairtí Cruthaigh Auto chuig Bileoga Il; Cuir Urchair isteach, Boscaí Seiceála agus go leor eile ...
  • Sliocht Téacs, Cuir Téacs leis, Bain de réir Poist, Bain Spás; Subtotals Paging a chruthú agus a phriontáil; Tiontaigh Idir Ábhar Cealla agus Tráchtanna...
  • Scagaire Super (scéimeanna scagaire a shábháil agus a chur i bhfeidhm ar bhileoga eile); Ard-Sórtáil de réir míosa / seachtaine / lae, minicíocht agus níos mó; Scagaire Speisialta le cló trom, iodálach ...
  • Comhcheangail Leabhair Oibre agus Bileoga Oibre; Cumaisc Táblaí bunaithe ar eochaircholúin; Roinn Sonraí i Ilbhileoga; Baisc Tiontaigh xls, xlsx agus PDF...
  • Níos mó ná 300 gné chumhachtach. Tacaíonn Office / Excel 2007-2021 agus 365. Tacaíonn sé le gach teanga. Imscaradh éasca i d'fhiontar nó d'eagraíocht. Gnéithe iomlána triail saor in aisce 30-lá. Ráthaíocht airgid ar ais 60-lá.
cluaisín kte 201905

Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca

  • Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
  • Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
  • Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!
bun officetab

 

Sórtáil tuairimí de réir
Comments (43)
Rátáil 4.5 as 5 · rátálacha 1
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Macra an-úsáideach, agus oibríonn sé go breá, ach ba mhaith liom a bheith in ann a roghnú cé na comhaid as an bhfillteán sin ba mhaith liom a reáchtáil ar an macra? Ní ghintear na comhaid go huathoibríoch i bhfillteán ar leith, agus ní mór dom macraí éagsúla a reáchtáil ar gach sraith comhaid ón bhfillteán sin, agus ansin iad a bhogadh ar ais sa fhillteán tosaigh.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Lean mé treoracha ach fuair mé earráid tiomsaithe "Lúb wihtout Do". Cad atá mé ar iarraidh? Tá mo chód macra an-simplí ach athraigh clómhéid na sraitheanna sonraithe. Oibríonn leis féin. Seo a bhfuil agam... cabhraigh le do thoil

Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Déan Cé go bhfuil xFileName <>"""
Le Leabhair Oibre.Open (xFdItem & xFileName)
'do chód anseo
Rónna("2:8").Roghnaigh
Le Selection.Font
.Name = "Arial"
.Méid = 12
.Strikethrough = Bréagach
.Superscript = Bréagach
.Subscript = Bréagach
.OutlineFont = Bréagach
.Scáth = Bréagach
.Underline = xlUnderlineStyleNone
.Color = -11518420
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
Deireadh Le
xFileName = Dir
Lúb
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, yarto,
Chaill tú an script "Críoch le" ag deireadh do chód, ba cheart gurb é seo an ceann ceart:
Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Déan Cé go bhfuil xFileName <>"""
Le Leabhair Oibre.Open (xFdItem & xFileName)
'do chód anseo
Rónna("2:8").Roghnaigh
Le Selection.Font
.Name = "Arial"
.Méid = 16
.Strikethrough = Bréagach
.Superscript = Bréagach
.Subscript = Bréagach
.OutlineFont = Bréagach
.Scáth = Bréagach
.Underline = xlUnderlineStyleNone
.Color = -11518420
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
Deireadh Le
Deireadh Le
xFileName = Dir
Lúb
Deireadh Má
Fo Deireadh

Bain triail as, le do thoil, tá súil gur féidir leis cabhrú leat!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Macra an-úsáideach, agus oibríonn sé go hiontach, ach ba mhaith liom a bheith in ann a roghnú cé na comhaid as an bhfillteán sin ba mhaith liom a reáchtáil ar an macra? Mar shampla tá 4 chomhad agam i bhfillteán le comhaid excel eile agus níor mhaith liom ach go rith sé ar na 4 chomhad ar leith sin. Conas is féidir liom do mhacra a athrú chun ligean dom na 4 chomhad sin a phiocadh ón bhfillteán sin?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit Joel,
Chun an cód céanna a spreagadh i leabhair oibre ar leith, ba cheart duit an cód seo a leanas a chur i bhfeidhm:

Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Dim xFB Mar Teaghrán
Le Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = Fíor
.Scagairí.Clear
.Scagairí.Cuir "excel", "*.xls*" leis
.Taispeáin
Má tá .SelectedItems.Count < 1 Ansin Scoir Fo
Le haghaidh lngCount = 1 Go .SelectedItems.Count
xFileName = .Items Roghnaithe(lngCount)
Má tá xFileName <> " "Ansin
Le Workbooks.Open(Filename:=xFileName)
' do chód
Deireadh Le
Deireadh Má
Ar Aghaidh LngCount
Deireadh Le
Fo Deireadh

Bain triail as, le do thoil, tá súil gur féidir leis cabhrú leat!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
go raibh maith agat, bhí sé an-chabhrach
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hallo!

Déanaim iarracht mo chód a chur isteach i do chód agus nuair a rithim an macra tugann sé an teachtaireacht seo a leanas dom: Earráid ama rite '429': Ní féidir le ActiveX an réad a chruthú. Le do thoil comhairle maidir le conas is féidir é a shocrú. Go raibh maith agat!

Mo chód:

Socraigh RInput = Raon ("A2: A21")
Socraigh ROutput = Raon ("D2: D22")

Dim A() Mar Leagan
ReDim A(1 Go RInput.Rows.Count, 0)
A = RInput.Value2

Socraigh d = CreateObject("Scripting.Dictionary")

Le haghaidh i = 1 Go UBound(A)
Má tá d.Ann(A(i, 1)) Ansin
d(A(i, 1)) = d(A(i, 1)) + 1
Eile
d.Cuir A(i, 1), 1 leis
Deireadh Má
Ar Aghaidh
Le haghaidh i = 1 Go UBound(A)
A(i, 1) = d(A(i, 1))
Ar Aghaidh

Rochur = A
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, ar dtús go raibh maith agat as an macra seo, ba é an rud go díreach a bhí á lorg agam. Tá fadhb amháin agam, áfach, an bhfuil bealach ann chun é a dhúnadh agus a shábháil mar gach fuinneog agus é críochnaithe. Tá líon mór comhad agam agus tá mé ag rith as RAM sula mbeidh an cur i gcrích críochnaithe.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Sea, Cuir an cód seo thíos leis más mian leat an comhad a shábháil leis an ainm céanna:

'Sábháil an Leabhar Oibre
Leabhar Oibre Gníomhach.Sábháil
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, a Chaitlín,
B'fhéidir gur féidir leis an gcód thíos cabhrú leat, gach uair tar éis do chód ar leith a rith, beidh bosca leide comhaid shábháil pop amach i gcuimhne duit an leabhar oibre a shábháil.

Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Dim xWB Mar Leabhar Oibre
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Ar Lean Earráid Aghaidh
Déan Cé go bhfuil xFileName <>"""
Socraigh xWB = Leabhair Oibre.Open(xFdItem & xFileName)
Le xWB
'do chód anseo
Deireadh Le
xWB.Dún
xFileName = Dir
Lúb
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hallo!

Déanaim iarracht mo chód a chur isteach i do chód agus nuair a rithim an macra tugann sé an teachtaireacht seo a leanas dom: Earráid ama rite '429': Ní féidir le ActiveX an réad a chruthú. Le do thoil comhairle maidir le conas is féidir é a shocrú. Go raibh maith agat!

Mo chód:

Socraigh RInput = Raon ("A2: A21")
Socraigh ROutput = Raon ("D2: D22")

Dim A() Mar Leagan
ReDim A(1 Go RInput.Rows.Count, 0)
A = RInput.Value2

Socraigh d = CreateObject("Scripting.Dictionary")

Le haghaidh i = 1 Go UBound(A)
Má tá d.Ann(A(i, 1)) Ansin
d(A(i, 1)) = d(A(i, 1)) + 1
Eile
d.Cuir A(i, 1), 1 leis
Deireadh Má
Ar Aghaidh
Le haghaidh i = 1 Go UBound(A)
A(i, 1) = d(A(i, 1))
Ar Aghaidh

Rochur = A
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit,

Bhain mé úsáid rathúil as an macra seo chun comhaid NBA a fhormáidiú don 30 foireann agus a leabhar féin ag gach ceann díobh. Inné, fuair mé teachtaireacht earráide nd nach féidir Modúl (macra) a chríochnú nó a scriosadh nó a chur in eagar (le sábháil). Thrill sé mo leabhar oibre macra pearsanta agus rinne sé beagnach do-úsáidte dom Excel. Tuairteanna sé an app gach uair a dhéanaim iarracht rochtain a fháil ar mhacra ó aon chomhad. Ní raibh tacaíocht Excel agus tacaíocht Windows in ann rudaí a shocrú. Is féidir leat cabhrú?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, An bhfuil bealach ann chun ceann scríbe an chomhaid a shainiú sa script féin. Ba mhaith liom an próiseas 3 a scipeáil áit a gcaithfidh muid an fillteán ar leith a bhrabhsáil.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, go raibh maith agat as an gcód seo. An féidir leat a insint dom le do thoil conas is féidir liom toradh mo mhacra ar oscail mé na leabhair oibre go léir dó a bheith in aon bhileog amháin (toradh gach leabhar oibre i ndiaidh a chéile)? agus an bhfuil bealach ann chun ainm gach leabhar oibre a chur leis an tsraith leis na sonraí ón gcéim roimhe seo?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hi

Fuair ​​​​mé earráid ama rite aa 1004: níl an chomhréir ceart nuair a rith mé an cód seo a leanas, is é sin an Extend Office VBA go "Rith macra mar an gcéanna thar leabhair oibre iolracha le cód VBA" leis an Extend Office VBA "Scrios na raonta ainmnithe go léir le cód VBA" sa sliotán cuir isteach do chód:

Fo-LúbThroughComhaid()

Dim xFd Mar FileDialog

Dim xFdItem Mar Athrú

Dim xFileName Mar Theaghrán

Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)

Má tá xFd.Show = -1 Ansin

xFdItem = xFd.SelectedItems(1) & Application.PathSeparator

xFileName = Dir(xFdItem & "*.xls*")

Déan Cé go bhfuil xFileName <>"""

Le Leabhair Oibre.Open (xFdItem & xFileName)

' Fo-ScriosAinmneacha()

Nuashonrú 20140314

Dim xName Mar Ainm

Do Gach xName In Feidhmchlár.Ainmneacha Leabhar Oibre Gníomhach

xName.Scrios

Ar Aghaidh


Deireadh Le

xFileName = Dir

Lúb

Deireadh Má

Fo Deireadh

Is é an rud atá mé ag iarraidh a dhéanamh ná macra a rith a scriosann na raonta ainmnithe in ocht leabhar oibre atá san fhillteán céanna.

BTW, is é seo an chéad uair a d'úsáid mé rud éigin ó Extend Office agus níor oibrigh sé. Chuidigh an suíomh Gréasáin seo go mór liom.

Ba mhór againn moltaí/tuairimí.

aildc
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, aaldc,
Oibríonn do chód go maith i mo leabhar oibre, cén leagan Excel a úsáideann tú?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, tá an cód seo chomh maith agus úsáideach. Úsáidim go leor é!

Sa lá atá inniu ann, i m'eagraíocht bainimid úsáid as SharePoint anois chun ár gcomhaid a stóráil. An bhfuil aon bhealach ann leis an gcód seo a chur ag obair trasna gach comhad i bhfillteán sharepoint?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, go raibh maith agat as an gcód seo.
An bhfuil bealach ann le lúbadh trí fhofhillteáin freisin? Ligean le rá go bhfuil fillteán amháin agam agus laistigh den fhillteán deich bhfillteán eile ina bhfuil comhad Excel i ngach ceann díobh.

An bhfuil bealach ann leis an bhfillteán príomhúil a roghnú ionas go n-imeoidh an cód trína fhofhillteáin go léir?

Go raibh maith agat.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, Darko,Chun cód a rith ó fhillteán leis na fofhillteáin, cuir an cód seo a leanas i bhfeidhm le do thoil: Fo-LoopThroughFiles_Fofhillteáin(xStrPath As Teaghrán)
Dim xSFolderName
Dim xFileName
Dim xArrSFPath() Mar Teaghrán
Dim xI Mar Shlánuimhir
Má tá xStrPath="" Ansin Scoir Fo
xFileName = Dir(xStrPath & "*.xls*")
Déan Cé go bhfuil xFileName <>"""
Le Workbooks.Open(xStrPath & xFileName)
'do chód anseo
Deireadh Le
xFileName = Dir
Lúb
xSFolderName = Dir(xStrPath, vbDirectory)
xI = 0
ReDim xArrSFPath(0)
Déan Cé go bhfuil xSFolderName <>"""
Má tá xSFolderName <> "." Agus xSFolderName <> ".." Ansin
Más rud é (GetAttr(xStrPath & xSFolderName) Agus vbDirectory) = vbDirectory Ansin
xI = xI+1
ReDim Caomhnaigh xArrSFPath(xI)
xArrSFPath(xI - 1) = xStrPath & xSFolderName & "\"
Deireadh Má
Deireadh Má
xSFolderName = Dir
Lúb
Má tá UBound(xArrSFPath) > 0 Ansin
Le haghaidh xI = 0 Go UBound(xArrSFPath)
LoopThroughFiles_Fofhillteáin (xArrSFPath(xI))
Ar aghaidh xI
Deireadh Má
Fo Deireadh
Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
LoopThroughFiles_Fofhillteáin (xFdItem)
Deireadh Má
Críochnaigh Fo le do thoil, tá súil agam gur féidir leis cabhrú leat!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Chomh maith leis an gcód thuas, an féidir comhaid Excel a oscailt in ord croineolaíoch a bhí uaim?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, míle buíochas as an macra a bhfuil sé an-áisiúil oibriú leis. Ní raibh mé ach ag smaoineamh an bhfuil bealach againn chun an fillteán san onedrive trí mhacra a athnuachan . Má tá, an bhféadfá in iúl dom le do thoil cad is féidir liom a dhéanamh anseo chun na comhaid a athnuachan in onedrive ag baint úsáide as macra script?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, go raibh míle maith agat as an script seo, oibríonn mé an-mhaith dom, ach tá riachtanais speisialta agam: An bhfuil bealach ann chun an script a athrú chun mo chód a chur i bhfeidhm le coinníollacha ainm comhaid AGUS i bhfofhillteáin ?
Míním : Is múinteoir mé agus chruthaigh mé réiteach Excel chun torthaí na mac léinn a shábháil agus chun ligean do mhúinteoirí dul i gcomhairle leo.Chun é sin a dhéanamh, tá comhad agam in aghaidh an fho-scairde scoile agus ceann don rang atá freagrach, go léir i bhfillteán in aghaidh an ranga.
Mar sin nuair a aimsím fabht nó optamú, caithfidh mé na hathruithe i ngach comhad i ngach fofhillteán a thuairisciú.
Ach ós rud é nach ionann gach comhad (eagraíocht subjets éagsúla), ba mhaith liom bealach chun mo chód par exemple a chur i bhfeidhm ar gach comhad darb ainm "rang matamaitice" sna fofhillteáin go léir, nó a mhalairt, mo chód a chur i bhfeidhm ar gach comhad i bhfofhillteáin ach amháin gach comhad darb ainm "xyz". Go raibh maith agat !Fabrice
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Níl do chód tugtha ag obair leis an VBA seo a leanas an féidir leat cabhrú le Fobhearta()

Dim vWS Mar Bhileog Oibre
Dim vA, vA2()
Dim vR Chomh Fada, vSum Chomh Fada, vC Chomh Fada
Dim vN Chomh Fada, vN2 Chomh Fada, vN3 Chomh Fada

Socraigh vWS = ActiveSheet
Le vWS
vR = .Cealla(Rows.Count, 4).Deireadh(xlUp).Row
vSum = Iarratas.Sum(.Range("D2:D" & vR))
ReDim Preserve vA2(1 Go vSum, 1 Go 4)
vA = .Raon("A2:D" & vR)
Le haghaidh vN = 1 Go vR - 1
Le haghaidh vN2 = 1 Go vA(vN, 4)
vC = vC+1
Le haghaidh vN3 = 1 Go 4
vA2(vC, vN3) = vA(vN, vN3)
Ar Aghaidh vN3
Ar Aghaidh vN2
Ar Aghaidh vN
Deireadh Le
vC = 1
Le haghaidh vN = 1 Go vSum - 2
vA2(vN, 4) = vC
Má tá vA2(vN + 1, 2) = vA2(vN, 2) Ansin
vC = vC+1
vA2(vN + 1, 4) = vC
Eile
vA2(vN + 1, 4) = 1
vC = 1
Deireadh Má
Ar Aghaidh vN
Application.ScreenUpdating = Bréagach
Bileoga.Add
Le Bileog Ghníomhach
vWS.Range("A1:D1").Cóip .Range("A1:D1")
.Cealla(2, 1).Athraigh méid(vSum, 4) = vA2
Deireadh Le
Feidhmchlár.ScreenUpdating = Fíor

Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Teastaíonn uaim an VBA seo a rith ina il-Bileoga i bhfillteán ag an am céanna, an féidir leat cabhrú le Fobhearta()

Dim vWS Mar Bhileog Oibre
Dim vA, vA2()
Dim vR Chomh Fada, vSum Chomh Fada, vC Chomh Fada
Dim vN Chomh Fada, vN2 Chomh Fada, vN3 Chomh Fada

Socraigh vWS = ActiveSheet
Le vWS
vR = .Cealla(Rows.Count, 4).Deireadh(xlUp).Row
vSum = Iarratas.Sum(.Range("D2:D" & vR))
ReDim Preserve vA2(1 Go vSum, 1 Go 4)
vA = .Raon("A2:D" & vR)
Le haghaidh vN = 1 Go vR - 1
Le haghaidh vN2 = 1 Go vA(vN, 4)
vC = vC+1
Le haghaidh vN3 = 1 Go 4
vA2(vC, vN3) = vA(vN, vN3)
Ar Aghaidh vN3
Ar Aghaidh vN2
Ar Aghaidh vN
Deireadh Le
vC = 1
Le haghaidh vN = 1 Go vSum - 2
vA2(vN, 4) = vC
Má tá vA2(vN + 1, 2) = vA2(vN, 2) Ansin
vC = vC+1
vA2(vN + 1, 4) = vC
Eile
vA2(vN + 1, 4) = 1
vC = 1
Deireadh Má
Ar Aghaidh vN
Application.ScreenUpdating = Bréagach
Bileoga.Add
Le Bileog Ghníomhach
vWS.Range("A1:D1").Cóip .Range("A1:D1")
.Cealla(2, 1).Athraigh méid(vSum, 4) = vA2
Deireadh Le
Feidhmchlár.ScreenUpdating = Fíor

Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Rinne mé iarracht an cód a rith ach tá an earráid "424 : Object Required" le feiceáil ag an líne "With Workbooks.Open(xFdItem & xFileName)". Trí bhreathnú níos doimhne a dhéanamh, is cosúil nach dtaispeánann/nach bhfuil na leabhair oibre excels atá stóráilte san fhillteán spéise ann (Nuair a d'oscail an fhuinneog le taispeáint an chóid, má dhéanaim iarracht an fillteán a oscailt agus gan é a roghnú, tá sé folamh). Conas mar sin?
Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Déan Cé go bhfuil xFileName <>"""
Le Leabhair Oibre.Open (xFdItem & xFileName)
Sheets.Add After:=Bileog Ghníomhach
Bileoga ("Bileog2").Roghnaigh
Sheets("Sheet2").Name = "Máistir"
Bileoga ("Máistir").Roghnaigh
Bileoga ("Máistir"). Bog Roimh:=Bileoga(1)
Deireadh Le
xFileName = Dir
Lúb
Deireadh Má
Fo Deireadh


An féidir leat cabhrú liom an fhadhb seo a réiteach le do thoil?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Is é seo an suíomh Gréasáin is fearr liom leis na treoracha iomlána is soiléire (níos mó ná aon fhíseán YouTube) agus coinním ag teacht ar ais chuige arís agus arís eile. Go raibh míle maith agat as na ranganna teagaisc seo - is sábhálaí saoil brónach mac léinn atá agat.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Déan Cé go bhfuil xFileName <>"""
Le Leabhair Oibre.Open (xFdItem & xFileName)
' ActiveCell.Offset(0, 1).Colúin("A:A").EntireColumn.Roghnaigh
Selection.Insert Shift:=xlToRight
ActiveCell.Roghnaigh
Deireadh Le
xFileName = Dir
Lúb
Deireadh Má
Deireadh Fo, cabhrú le do thoil . BTW, is é mo chuid comhad excel síneadh (.csv - "comma teorannaithe") . agus tá 500 comhad excel agam i bhfillteán le meánlíon gach ró de thart ar 500000 líon sraitheanna .. Cabhair le do thoil . Níl uaim ach colún a chur isteach i ngach leabhar oibre
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
an bhfuair tú freagra ar do cheist riamh? Táim ag iarraidh an rud céanna a dhéanamh le breis is 3700 comhad csv. Ní mór dom ach 1 cholún (A) a chur leis.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, an ngéarghátar agus Carly,Chun d'fhadhb a réiteach, chun an cód le haghaidh comhaid CSV iolracha a rith, níl le déanamh agat ach an síneadh comhad .xls a athrú go .csv mar a thaispeántar an cód thíos: Fo-LúbThroughComhaid()
Dim xFd Mar FileDialog
Dim xFdItem Mar Athrú
Dim xFileName Mar Theaghrán
Socraigh xFd = Application.FileDialog(msoFileDialogFolderPicker)
Má tá xFd.Show = -1 Ansin
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.csv*")
Déan Cé go bhfuil xFileName <>"""
Le Leabhair Oibre.Open (xFdItem & xFileName)
ActiveCell.Offset(0, 1).Colúin("A:A").Colún Iomlán.Roghnaigh
Selection.Insert Shift:=xlToRight
ActiveCell.Roghnaigh
Deireadh Le
xFileName = Dir
Lúb
Deireadh Má
Críochnaigh Fo le do thoil, tá súil agam gur féidir leis cabhrú leat!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, an féidir an macra a rith ach amháin sna bileoga de leabhair oibre éagsúla a bhfuil ainm ar leith orthu? Go raibh maith agat!!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, Sara,
Faraoir, níl aon réiteach maith ar an bhfadhb a d'ardaigh tú.
Go raibh maith agat!
Níl aon tráchtanna curtha suas anseo go fóill
Luchtaigh More
Fág do chuid tuairimí
Ag postáil mar Aoi
×
Ráta an post seo:
0   Carachtair
Suímh Molta

Lean orainn

Cóipcheart © 2009 - www.extendoffice.com. | Gach ceart ar cosaint. Cumhachtaithe ag ExtendOffice. | léarscáil an tSuímh
Is trádmharcanna nó trádmharcanna cláraithe de chuid Microsoft Corporation sna Stáit Aontaithe agus / nó i dtíortha eile iad lógó Office agus Office.
Cosanta ag Sectigo SSL