Como cerrar un libro de excel por VBA
Tengo una macro que me abre varios archivos txt y les hace texto en columnas y los unifica para que queden todos en una sola base los txt tiene los nombres de 1 (1) y asi van en incremento según la cantidad que tenga he hecho un ciclo para que los habrá y luego los vaya pegando pero quiero que después de pegar la información en el orden dado para que abran y se cierre después de pegarlos tengo el comando Workbooks(strHoja). Close True pero no me cierra ninguno solo funciona cuando coloco el for en 1 to 1 pero cuando lo coloco mas amplio me habré todos y no cierre ninguno agradezco me colabores con este tema mil gracias de antemano.
Sub Abrir_Pegar()
'
' Abrir_Pegar Macro
'
'
strHoja = Range("J1")
On Error Resume Next
For i = 1 To 27
Windows("Macro Adjuntar Txt.xlsm").Activate
Sheets("Hoja1").Select
Range("K1").Select
ActiveCell.FormulaR1C1 = i
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\mdguevara\Escritorio\Gestion_Etiquetas\" + Range("J1"), _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7 _
, 1)), TrailingMinusNumbers:=True
Range("A2:G2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Macro Adjuntar Txt.xlsm").Activate
Sheets("Hoja1").Select
Range("a2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell = "" Then
Exit Sub
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Windows(strHoja).Activate
Workbooks(strHoja).Close True
Next i
End Sub