Skip to main content

AccessTr.neT


Sınav Değerlendirme

ercansahiner61
ercansahiner61
46
8671

Sınav Değerlendirme

Çözüldü #22
2.soruyu anlamadım.
Diğerleri bitti.

Kodların kısa olması için ve çözümün kolay yapılabilmesi için Ayarlar adında bir sayfa ekledim.Bu sayfada işlemleri yaptırıp temizlettim en sonda.
Ayrıca yazdırma alanınıda dinamik yaptırdım.Hatalar olursa yazın düzeltelim.

PHP Kod:
Sub Kopyala()
    Dim syfAyarlar As Worksheet
    Dim Sht 
As Worksheet
    Dim sonAna 
As Long
    
    Set syfAyarlar 
= ThisWorkbook.Sheets("Ayarlar")
    Set Sht = ThisWorkbook.Worksheets("ANA LİSTE")
    
    sonAna 
= Sht.Range("A" & Rows.Count).End(3).Row
    
If sonAna < 2 Then GoTo son
    
If WorksheetFunction.CountA(Sht.Range("A2:A" & Rows.Count)) = 0 Then GoTo son
    syfAyarlar
.Range("A:C").Clear
    Sht
.Range("A2:A" & sonAna).Copy
    syfAyarlar
.Range("A1").PasteSpecial xlPasteValues
    
    ayir syfAyarlar
    syfAyarlar
.Range("A:B").Sort key1:=syfAyarlar.Range("A1"), key2:=syfAyarlar.Range("B1")
    Birlestir syfAyarlar
    syfAyarlar
.Range("A:C").Clear
son
:
    Application.CutCopyMode = False
    Set syf 
= Nothing
    Set Sht 
= Nothing
End Sub

Sub ayir
(syf As Worksheet)
     syf.Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon
:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End Sub

Sub Birlestir
(syf As Worksheet)
    Dim i As Long, say As Long, sonAyarlar As Long
    say 
= 1
    Application
.ScreenUpdating = False
    With syf
        sonAyarlar 
= .Range("A" & Rows.Count).End(3).Row
        
.Cells(1, 3).Value = .Cells(1, 1).Value & "/" & .Cells(1, 2).Value
        
For i = 2 To sonAyarlar - 1
            
If .Cells(i, 1).Value <> .Cells(i + 1, 1).Value Then
                 say 
= say + 1
                
.Cells(say, 3).Value = .Cells(i + 1, 1).Value & "/" & .Cells(i + 1, 2).Value
            End 
If
        Next
         sonAyarlar 
= .Range("C" & Rows.Count).End(3).Row
         bul syf
, ThisWorkbook.Worksheets("SIRALAMA"), sonAyarlar
    End With
    Application
.ScreenUpdating = True
End Sub


Sub bul
(ByVal syf As Worksheet, ByVal syfSiralama As Worksheet, ByVal son As Long)
    Dim i As Long, bul As Range
    
    
For i = 1 To son
        aranan 
= syf.Cells(i, 3).Value
        Set bul 
= syfSiralama.Cells.Find(syf.Cells(i, 3).Value, , , 1)
        If Not bul Is Nothing Then bul.Font.Bold = True
    Next
    Set bul 
= Nothing
End Sub

Sub ListeAktarDz
()
    Dim SonStr As Long
    Dim Sht 
As Worksheet
    Dim ShtHdf 
As Worksheet
    Dim Dizi
() As Variant
    Dim DiziKynk
() As Variant
    
Const sutun As Byte = 12
    
    Set Sht 
= ThisWorkbook.Worksheets("ANA LİSTE")
    Set ShtHdf = ThisWorkbook.Worksheets("SIRALAMA")
    
    ShtHdf
.Range("A2", ShtHdf.Cells(Rows.Count, "XFD")).Clear
    SonStr 
= Sht.Cells(Sht.Rows.Count, "A").End(xlUp).Row
    
    
If SonStr < 2 Then GoTo son
    
If SonStr = 2 Then
        ShtHdf
.Range("A2").Value = Sht.Range("A2").Value
        
GoTo son
    End 
If
    
    StrSay 
= (SonStr - 1) \ sutun + 1
    ReDim Dizi
(StrSay, sutun)
    DiziKynk = Sht.Range("A2:A" & SonStr)
    
    i 
= 0
    
For StrX = LBound(DiziKynk) To UBound(DiziKynk)
        Dizi(((StrX - 1) \ sutun), (StrX - 1) Mod sutun) = DiziKynk(StrX, 1)
    Next StrX
    ShtHdf
.Range("A2").Resize(UBound(Dizi, 1) - 1, sutun).Value = Dizi
    ShtHdf
.Range("A2").Resize(UBound(Dizi, 1) - 1, sutun).Borders.LineStyle = 1
    ShtHdf
.PageSetup.PrintArea = "$A$1:$L$" & UBound(Dizi, 1) 'sayfa yazdirma alani icin otomatik yapildi
son:
    On Error Resume Next
    Erase Dizi: Set Sht = Nothing: Set ShtHdf = Nothing
    Kopyala
    MsgBox "bitti"
End Sub 
.rar Düşüm listesi xlsm2.rar (Dosya Boyutu: 128,08 KB | İndirme Sayısı: 2)
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
Sınav Değerlendirme - Yazar: ercansahiner61 - 05/02/2021, 00:45
RE: Dikey Verileri Yatay Olarak Sayfa Sayfa Yazdırma Sorunu - Yazar: feraz - 10/02/2021, 00:23
Task