Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel, makro - vložit sloupec vzorců vedle čísel

Prosím o radu s makry:

Mám ve sloupci A čísla. Potřebuji do sloupce B vložit vzorec (např =A2*2) a rozkopírovat jej do všech řádků ve kterých se v A nachází čísla (=A2*2 až An*2). Počet řádků je proměnný, ale žádný není vynechaný.

Protože je to v hodně souborech tak bych to rád řešil makrem. Nevím ale jak mu říct, že se má řídit podle řádků s čísly.

Jako další bych potřeboval pod takto vyplněný sloupec B vložit další vzorec (suma) na první volný řádek.

Předmět Autor Datum
Tohle přece není třeba řešit makrem, stačí napsat slušný vzoreček a nakopírovat ho.
usakji 22.07.2010 13:28
usakji
Je to součást více operací které se budou dělat, navíc je to ve větším množství souborů - proto makr…
mismas 22.07.2010 14:24
mismas
Stačí uložiť do súboru s príponou .vbs a spustiť v adresári s .xls súbormi, ktoré chceš upraviť: Se…
los 22.07.2010 22:19
los
Díky, vyzkouším poslední
mismas 23.07.2010 08:03
mismas

Stačí uložiť do súboru s príponou .vbs a spustiť v adresári s .xls súbormi, ktoré chceš upraviť:

Set aShell = CreateObject("WScript.Shell")
Set aApplication = CreateObject("Excel.Application")
Set aFso = CreateObject("Scripting.FileSystemObject")
Const xlDown = -4121

For Each aFile in aFso.GetFolder(aShell.CurrentDirectory).Files
	If Right(LCase(aFile.Name), 4) = ".xls" Then
		Set aWorkbook = aApplication.Workbooks.Open(aFile.Path)
		Set aWorksheet = aWorkbook.Worksheets(1)
		Set aFirstCell = aWorksheet.Range("A1")
		Set aLastCell = aFirstCell.End(xlDown)
		Set aColumn = aWorksheet.Range(aFirstCell, aLastCell).Offset(0, 1)
		Set aCell = aLastCell.Offset(1, 1)
		aColumn.Formula = "=A1*2"
		aCell.Formula = "=SUM(" & aColumn.Address & ")"
		aWorkbook.Close	True
	End If
Next
aApplication.Quit

Zpět do poradny Odpovědět na původní otázku Nahoru