Hi,
ich bräuchte dringend Hilfe.
Also wie aus meinem unten ersichtlichen Makro zu sehen ist wird zurzeit eine Formel von G1 bis G11 von H1 bis H11 und von I1 bis I11 kopiert.
Jetzt kommt mein Problem.
Es kommt öfter vor dass die input Datei weniger oder mehr Zeilen hat und dann macht er aber trotzdem die Formel immer bis 11 und nicht mehr oder weniger.
Er müsste selbst erkennen wie weit er die Formel runterkopieren muss damit in jeder zeile wo ein inhalt ist auch eine Formel ist und nicht immer bis 11.
Ich kann zwar selbst im Makro ändern das er zb bis 14 oder 16 geht aber da gibt es sicher eine automatisierte lösung.
Was müsste ich in meinem Makro ändern damit das auch so hinhaut?
Bin erst neu auf dem Excel Makro gebiet Wink
Danke für eure Hilfe schonmal im voraus.
Sub Makro2()
'
' Makro2 Makro
'
' Tastenkombination: Strg+h
'
Workbooks.Open Filename:="Z:\Kunden_Projekte\Heidinger\HETI601.xls"
Columns("E:F").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Columns("E:F").Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("G1").Select
ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-5]"
Range("G1").Select
Selection.AutoFill Destination:=Range("G1:G11")
Range("G1:G11").Select
Range("H1").Select
ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-6]"
Range("H1").Select
Selection.AutoFill Destination:=Range("H1:H11")
Range("H1:H11").Select
Range("I1").Select
ActiveCell.FormulaR1C1 = "=RC[-5]"
Range("I2").Select
ActiveWindow.ScrollColumn = 2
Range("I1").Select
Selection.AutoFill Destination:=Range("I1:I11")
Range("I1:I11").Select
Range("F25").Select
ActiveWindow.ScrollColumn = 1
ChDir "I:\Dokumente und Einstellungen\stma\Desktop"
ActiveWorkbook.SaveAs Filename:= _
"I:\Dokumente und Einstellungen\stma\Desktop\Amicron Übergabe.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
Range("F9").Select
End Sub
Seite 1 von 1
Excel Makro - Formel Automatisch Ans Spaltenende Kopieren
Anzeige
#2
geschrieben 17. Februar 2009 - 18:13
Hallo stma,
teste mal folgendes Makro, ob es das macht was du möchtest:
Gruß
DPXone
teste mal folgendes Makro, ob es das macht was du möchtest:
Option Explicit Sub Makro2() ' Tastenkombination: Strg+h Dim LastRow As Integer LastRow = Range("E" & Rows.Count).End(xlUp).Row Workbooks.Open Filename:="Z:\Kunden_Projekte\Heidinger\HETI601.xls" With Columns("E:F") .Replace What:=".", Replacement:="," .HorizontalAlignment = xlRight End With Range("G1:G" & LastRow).FormulaR1C1 = "=RC[-2]/RC[-5]" Range("H1:H" & LastRow).FormulaR1C1 = "=RC[-2]/RC[-6]" Range("I1:I" & LastRow).FormulaR1C1 = "=RC[-5]" ActiveWorkbook.SaveAs Filename:= _ "I:\Dokumente und Einstellungen\stma\Desktop\Amicron Übergabe.xlsx" ActiveWindow.Close End Sub
Gruß
DPXone
#3
geschrieben 18. Februar 2009 - 08:18
Danke haut hin.
Echt super. Genau das was ich wollte.
lg
Echt super. Genau das was ich wollte.
lg
#4
geschrieben 18. Februar 2009 - 09:32
Hey,
noch eine Kurze Anregung, ich würde nicht die Datei direkt ansprechen, sondern vll eine Variable nehmen, da du dann den Pfad leicht ändern kannst.
Desweiteren würde ich auch nicht den Desktop als Speicherort nehmen, da das nur bei dir funktioniert und bei sonst keinem und auch würde ich in Erwägung ziehen, keine xlsx (Office 2007) zu nehmen, sondern vielleicht eine xls Datei (funktioniert unter jeder neueren Office Version)
noch eine Kurze Anregung, ich würde nicht die Datei direkt ansprechen, sondern vll eine Variable nehmen, da du dann den Pfad leicht ändern kannst.
Zitat (stma: 17.02.2009, 11:05)
Workbooks.Open Filename:="Z:\Kunden_Projekte\Heidinger\HETI601.xls"
ActiveWorkbook.SaveAs Filename:= _
"I:\Dokumente und Einstellungen\stma\Desktop\Amicron Übergabe.xlsx", _
ActiveWorkbook.SaveAs Filename:= _
"I:\Dokumente und Einstellungen\stma\Desktop\Amicron Übergabe.xlsx", _
Desweiteren würde ich auch nicht den Desktop als Speicherort nehmen, da das nur bei dir funktioniert und bei sonst keinem und auch würde ich in Erwägung ziehen, keine xlsx (Office 2007) zu nehmen, sondern vielleicht eine xls Datei (funktioniert unter jeder neueren Office Version)
#5
geschrieben 18. Februar 2009 - 10:17
Wenn ers nur selbst verwendet, braucht ers nicht parametisieren.
Zum anderen sollte man nur noch dann XLS verwenden, wenn wirklich Personen mit uraltem Office (also vor 2000) damit arbeiten müssen, oder Excel 2000/2002/2003-User dabei sind, die das Kompatibiliätspack nicht installieren dürfen (Firmenrichtlinien).
Für XLSX spricht nämlich sehr viel, u.a. im Notfall wesentlich besser Daten retten zu können mit einem bloßen ZIP-Programm, aber auch Microsoft-unabhängig einfach viele Jahre später auf die Informationen noch zugreifen zu können (Stichpunkt: Datenarchivierung).
Da er es ja offensichtlich nur selbst verwendet, spricht exakt überhaupt nichts für XLS, im Gegenteil.
Zum anderen sollte man nur noch dann XLS verwenden, wenn wirklich Personen mit uraltem Office (also vor 2000) damit arbeiten müssen, oder Excel 2000/2002/2003-User dabei sind, die das Kompatibiliätspack nicht installieren dürfen (Firmenrichtlinien).
Für XLSX spricht nämlich sehr viel, u.a. im Notfall wesentlich besser Daten retten zu können mit einem bloßen ZIP-Programm, aber auch Microsoft-unabhängig einfach viele Jahre später auf die Informationen noch zugreifen zu können (Stichpunkt: Datenarchivierung).
Da er es ja offensichtlich nur selbst verwendet, spricht exakt überhaupt nichts für XLS, im Gegenteil.
#6
geschrieben 18. Februar 2009 - 12:09
Hi,
ja, dieses Makro wird nur auf einer Arbeitstation verwendet und der User möchte unbedingt auf dem Desktop gespeichert haben.
Office2007 ist kein problem. Das hat hier schon jeder drauf.
lg und danke für eure Hilfe
ja, dieses Makro wird nur auf einer Arbeitstation verwendet und der User möchte unbedingt auf dem Desktop gespeichert haben.
Office2007 ist kein problem. Das hat hier schon jeder drauf.
lg und danke für eure Hilfe
- ← Unterschied Zwischen Access 2007 Zu Access 2003
- Office 2007
- Word 2000/2007 Druckt Keine Bilder Mehr →
Thema verteilen:
Seite 1 von 1