Skip to main content

AccessTr.neT


Döngü İle Excele Veri Aktarmak

Döngü İle Excele Veri Aktarmak

Çözüldü #1
Merhaba Excel kitabı içerisinde tablo içerisindeki bir sütunda bulunan veriler ile sayfalar oluşturuyorum.
Bir sorgu içerisindeki koşula uygun olanlar ile gecici tablolar oluşturturuyorum.
Bu oluşturttuğum geçici tablolardan sırasıyla Excel kitabındaki sayfalara başka verileri aktarmak istiyorum. Bir türlü beceremedim çalışma falan herşeyi sildim Img-grin
Nerede hata yapıyorum veya Daha iyi bir önerisi olan var mı
Kod:
    DoCmd.SetWarnings False
   
        If MsgBox("Bilgileriniz Excele Aktarılsın mı?", vbCritical + vbYesNo + vbDefaultButton1, "UYARI") = vbNo Then Exit Sub
        MsgBox "Aktarma İşlemi BİP sesini Duyana Kadar Devam Edecektir Excel Açıldıktan Sonra Hücrelere Tıklarsanız Eksik veya Hatalı Aktarabilir. Bilgisayarınızın Sesi Açık Olduğundan Emin Olunuz.", vbDefaultButton1, "UYARI!!!"


Dim rs As Excel.Application
Dim KTP1 As Excel.Workbook
Dim SYF As Excel.Worksheet

   
Set Excl = New Excel.Application
With Excl

      .Application.Visible = True
      .UserControl = True

End With


        Set KTP1 = Excl.Workbooks.Open(CurrentProject.Path & "\EXCEL TABLOLARI\Malzemeci.xlsx")
        Set Rs1 = CurrentDb.OpenRecordset("Alinan_Malzeme_Giris")
        Set Rs3 = CurrentDb.OpenRecordset("Alinan_Malzeme_Giris")

     
'################### gecici tablo oluşturma #########################

  Dim ğ
        ğ = 1

        Do Until Rs3.EOF
        Me.Metin1 = Rs1(2)

DoCmd.RunSQL "SELECT srg_Malzemeci_Cizelgesi.Harcanan_ID, srg_Malzemeci_Cizelgesi.Malzeme_Miktari, srg_Malzemeci_Cizelgesi.Malzeme_Markasi, srg_Malzemeci_Cizelgesi.Malzeme_Adi, srg_Malzemeci_Cizelgesi.Malzeme_Seri_No, srg_Malzemeci_Cizelgesi.Sorusturma, srg_Malzemeci_Cizelgesi.Malzeme_Alindigi_Tarih, srg_Malzemeci_Cizelgesi.TSG, srg_Malzemeci_Cizelgesi.Adi_Soyadi, srg_Malzemeci_Cizelgesi.Sahis_Adi_Soyadi INTO gecici_malzemeci" & ğ & " FROM srg_Malzemeci_Cizelgesi WHERE (((srg_Malzemeci_Cizelgesi.Malzeme_Adi)=IIf([Formlar]![frm_excel]![Metin1]='(Hepsi)',[Malzeme_Adi],[Formlar]![frm_excel]![Metin1])))"

ğ = ğ + 1
Rs3.MoveNext
            Loop
Rs3.Close


  Dim ş
        ş = 1

        Do Until Rs1.EOF
        Me.Metin1 = Rs1(2)
Set Rs2 = CurrentDb.OpenRecordset("gecici_malzemeci" & ş)

            SyfAdi = Rs1(1) & " " & Rs1(2)
            SyfAdiTmp = SyfAdi
            SyfNo = 0
            Do While WorksheetExists(SyfAdiTmp, KTP1) = True
            SyfNo = SyfNo + 1
            SyfAdiTmp = SyfAdi & IIf(SyfNo = 0, "", "(" & SyfNo & ")")
            Loop
            Excl.Sheets.Add.Name = SyfAdiTmp

'BAŞLIKLAR
Excl.Range("A" & ş) = Rs1(1) & " " & Rs1(2)
Excl.Range("A" & ş + 1) = "V.MİKTAR"
Excl.Range("C" & ş + 1) = "K.MİKTAR"
Excl.Range("E" & ş + 1) = "KULLANILAN MİKTAR"

Excl.Range("A" & ş + 2) = "SIRA NO"
Excl.Range("B" & ş + 2) = "ADET"
Excl.Range("C" & ş + 2) = "MARKASI"
Excl.Range("D" & ş + 2) = "BOYUT"
Excl.Range("E" & ş + 2) = "SERİ NO"
Excl.Range("F" & ş + 2) = "SORUŞTURMA NO"
Excl.Range("G" & ş + 2) = "TESLİM TARİHİ"
Excl.Range("H" & ş + 2) = "KULLANILMA TARİHİ"
Excl.Range("I" & ş + 2) = "KULLANAN PERSONEL"
Excl.Range("J" & ş + 2) = "KULLANILAN ŞAHIS"


Rs1.MoveNext

Loop


i = 1
  Do Until Rs2.EOF
  Excl.Sheets(SyfAdiTmp).Select
 
  Excl.Cells(i + 3, "A") = Rs2(1)
 
  i = i + 1

Rs2.MoveNext
  Loop

Rs2.Close

DoCmd.RunMacro "Makro2" 'işlem bitince BİOS sesi Uyarı BİP


    Excl.Visible = True
  Set Excl = Nothing
    DoCmd.SetWarnings True


End Sub

Son Düzenleme: 15/10/2021, 17:37, Düzenleyen: lemoncher2.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Döngü İle Excele Veri Aktarmak - Yazar: lemoncher2 - 15/10/2021, 17:36
RE: Döngü İle Excele Veri Aktarmak - Yazar: berduş - 15/10/2021, 18:16
RE: Döngü İle Excele Veri Aktarmak - Yazar: berduş - 15/10/2021, 22:15
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 03:20
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 11:56
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 20:33
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 23:15