- Katılım
- 30 Mart 2019
- Mesajlar
- 54
- Excel Vers. ve Dili
- 2016 Türkçe
- Altın Üyelik Bitiş Tarihi
- 09-04-2020
Merhaba, elimde şu şekilde bir makro var;
Bu kod ile düğmeye bastığımda diğer exceli açıyor, sormak istediğim şu;
Diğer exceli açtığımda orda da bir başka düğme yani makro var, düğmeye bastığımda o makroyu çalıştırmak istiyorum. Bunu nasıl yapabilirim.
Diğer excelde ki makro da şu şekilde;
Makoların kodlarını atma sebebim, ikinci attığım makro başka bir exceli seçip veri aktarımı yapmamı sağlıyor.
Yardımcı olursanız çok sevinirim
Kod:
Sub Makro2()
Workbooks.Open("C:\Users\MelekEdrem\Desktop\EDREMİT\EDREMİT AKTARIM AGUSTOS.xlsm").Worksheets(ActiveSheet.Name).Activate
End Sub
Diğer exceli açtığımda orda da bir başka düğme yani makro var, düğmeye bastığımda o makroyu çalıştırmak istiyorum. Bunu nasıl yapabilirim.
Diğer excelde ki makro da şu şekilde;
Kod:
Sub adoRapor()
'veyselEMRE 07042019
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "C:\BiletiniAl\Reports\*Kasa*Raporu*.xls"
If .Show = -1 Then fileopen = .SelectedItems(1)
End With
If fileopen = "" Then Exit Sub
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & fileopen & _
"';Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"";"
strsql = "SELECT [kULLANICI Adı], IIF ([Bilet Tipi]='Öğrenci', [Fiyat], NULL), " & _
"IIF ([Bilet Tipi]='Tam', [Fiyat], NULL) FROM [SHEET$5:1000] WHERE NOT [Bilet Tipi] IS NULL"
Set rs = CreateObject("Adodb.RecordSet")
rs.Open strsql, strCon
lst = rs.getrows
With CreateObject("Scripting.Dictionary")
Dim w(1 To 1, 1 To 2)
For i = LBound(lst, 2) To UBound(lst, 2)
If lst(0, i) <> "" Then ky = lst(0, i)
If Not .exists(ky) Then .Item(ky) = w
y = .Item(ky)
If lst(1, i) <> "" Then y(1, 1) = lst(1, i)
If lst(2, i) <> "" Then y(1, 2) = lst(2, i)
.Item(ky) = y
Next i
son = Cells(Rows.Count, 1).End(3).Row
Range("B2:G" & son).ClearContents
For i = 2 To son
ky = Cells(i, 1).Value
If .exists(ky) Then
Cells(i, 2).Resize(, 2).Value = .Item(ky)
.Remove ky
End If
Next i
If .Count > 0 Then
kys = .keys
itm = .items
[H2].Value = "Hatalı Kayıtlar"
For i = LBound(kys) To UBound(kys)
Cells(i + 4, "H").Value = kys(i)
Cells(i + 4, "I").Resize(, 2).Value = itm(i)
Next i
End If
End With
End Sub
Yardımcı olursanız çok sevinirim