Soru Basit makro kodu yazmak

Katılım
6 Mart 2011
Mesajlar
11
Excel Vers. ve Dili
2007 excel
Merhabalar, makro konusunda çok az bilgim var.Aşağıdaki makro kodu nasıl daha basit ve hızlı çalışır yapabilirim.
Kod:
Sub Makro2()
'
' Makro2 Makro
'

'
    Rows("25:25").Select
    Application.CutCopyMode = False
    Selection.Cut
    Rows("24:24").Select
    Selection.Insert Shift:=xlDown
    Rows("10:10").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("20:20").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("25:25").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("39:39").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("42:42").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("53:53").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("56:56").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("98:98").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A129:AS137").Select
    Selection.ClearContents
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 27
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A2:AT128").Select
    Selection.Copy
    Sheets("Z").Select
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 27
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 29
    ActiveWindow.ScrollColumn = 30
    ActiveWindow.ScrollColumn = 31
    ActiveWindow.ScrollColumn = 32
    ActiveWindow.ScrollColumn = 33
    ActiveWindow.ScrollColumn = 34
    ActiveWindow.ScrollColumn = 35
    ActiveWindow.ScrollColumn = 36
    ActiveWindow.ScrollColumn = 37
    ActiveWindow.ScrollColumn = 38
    ActiveWindow.ScrollColumn = 39
    ActiveWindow.ScrollColumn = 40
    ActiveWindow.ScrollColumn = 41
    ActiveWindow.ScrollColumn = 42
    ActiveWindow.ScrollColumn = 43
    ActiveWindow.ScrollColumn = 44
    ActiveWindow.ScrollColumn = 45
    ActiveWindow.ScrollColumn = 46
    ActiveWindow.ScrollColumn = 47
    ActiveWindow.ScrollColumn = 48
    Range("AX2").Select
    Sheets("Hisse").Select
    ActiveWindow.ScrollColumn = 29
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 1
    Range("B2:AT128").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Z").Select
    Range("AX2").Select
    ActiveSheet.Paste
    ActiveWindow.ScrollColumn = 47
    ActiveWindow.ScrollColumn = 44
    ActiveWindow.ScrollColumn = 34
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 3
    Range("B1").Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=R[2]C[91]"
    Range("B2").Select
    ActiveWindow.ScrollColumn = 86
    ActiveWindow.ScrollColumn = 85
    ActiveWindow.ScrollColumn = 84
    ActiveWindow.ScrollColumn = 83
    ActiveWindow.ScrollColumn = 80
    ActiveWindow.ScrollColumn = 74
    ActiveWindow.ScrollColumn = 69
    ActiveWindow.ScrollColumn = 60
    ActiveWindow.ScrollColumn = 49
    ActiveWindow.ScrollColumn = 33
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 3
    Sheets("Z").Select
    Sheets("Z").Copy After:=Workbooks("Mali_Tablo_Analiz.xlsb").Sheets("1")
End Sub
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Aşağıdaki gibi deneyin,
sorun çıkarsa örnek dosya ekleyerek dönüş yaparsanız daha net çözüm bulunabilirsiniz.
Kod:
Sub Makro2()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Rows("25:25").Cut
    Rows("24:24").Insert Shift:=xlDown
    Rows("10:10").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("20:20").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("25:25").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("25:25").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("39:39").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("42:42").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("53:53").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("56:56").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("98:98").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A129:AS137").ClearContents
    Range("A2:AT128").Copy
    Sheets("Hisse").Select
    Range("B2:AT128").Copy
    Range("AX2").Select
    ActiveSheet.Paste
    Range("B1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=R[2]C[91]"
    Sheets("Z").Copy After:=Workbooks("Mali_Tablo_Analiz.xlsb").Sheets("1")
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Daha basit yapmak için eğer satır eklemek için bir kuralınız varsa ona göre for Next döngüsü gibi çözümler bulunabilir.
 
Üst