Sütunları Satırlara dönüştürme

hamitalper

Altın Üye
Katılım
25 Eylül 2020
Mesajlar
42
Excel Vers. ve Dili
2010 ve 2016 Excel
Altın Üyelik Bitiş Tarihi
13-09-2025
Merhabalar,

Şimdiden destekleriniz için teşekkür ediyorum, ekte belirttiğim dosyada "A,B,C" olarak 3 sayfa mevcut bunları "İSTENİLEN 1" sayfasına dönüştürebilir miyiz (makro ile veya fonksiyon olarak). Birde "İSTENİLEN 2 " sayfasındaki gibi belirtilen tarihler arasında ki karşılık gelen ( istenilen 1 sayfasından beslenerek sayı sütundaki değerlerin sıfırlar hariç ve sıfırlar dahil olarak belirtilen tarih aralıklarına karşılık gelen değerler ) fonksiyon veya makro olarak karşılıklarının gelmesini istiyorum.

tekrardan teşekkürler
 

Ekli dosyalar

hamitalper

Altın Üye
Katılım
25 Eylül 2020
Mesajlar
42
Excel Vers. ve Dili
2010 ve 2016 Excel
Altın Üyelik Bitiş Tarihi
13-09-2025
merhabalar konu ile ilgili yardımcı olabilir misiniz
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,287
Excel Vers. ve Dili
Microsoft Office 2019 English
Sub AktarVeriler()
Dim ws As Worksheet
Dim denemeWs As Worksheet
Dim i As Long, j As Long, lastCol As Long
Dim rowCount As Long

' "İSTENİLEN 1" sayfasını ayarla
Set denemeWs = ThisWorkbook.Sheets("İSTENİLEN 1")
rowCount = 2

' A, B, C sayfalarını döngüye al
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "İSTENİLEN 1" Then
' B sütunundaki verileri döngüye al
For i = 2 To ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
' Son sütunu bul
lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

' Tarihleri ve sayıları döngüye al
For j = 4 To lastCol
denemeWs.Cells(rowCount, 2).Value = ws.Name
denemeWs.Cells(rowCount, 3).Value = ws.Cells(i, 2).Value
denemeWs.Cells(rowCount, 4).Value = ws.Cells(1, j).Value
denemeWs.Cells(rowCount, 5).Value = ws.Cells(i, j).Value
rowCount = rowCount + 1
Next j
Next i
End If
Next ws
End Sub


2.istenen de neyin ortalaması alınacak yazmamışsınız.

kolay gelsin
 

hamitalper

Altın Üye
Katılım
25 Eylül 2020
Mesajlar
42
Excel Vers. ve Dili
2010 ve 2016 Excel
Altın Üyelik Bitiş Tarihi
13-09-2025
öncelikle teşekkürler hocam emeğinize sağlık,
255086
Örneğin "A" sayfasındaki "AA" türüne ait "D3'den BK3" arası hücrelerdeki değerlerden "başlangıç tarihi_1 ve bitiş tarihi_1" aralığındaki değerleri eğer bu aralık "0" varsa sıfırları katmadan ortalaması alıncak, "başlangıç tarihi_2 ve bitiş tarihi_2" aralığındaki değerler "0" dahil alıncak,"başlangıç tarihi_3 ve bitiş tarihi_3" aralığı sıfırlar dahil alıncak ortalamaları ama şöyle düşünelim sıfırlar hariç kısımda normalde 10 hücre var 2'si sıfır ortalama alırken bu aralığı 8 gibi düşüncez bölerken total ortalamayı alırken diğer tarih aralığında diyelim sıfırlar dahil kısımda 10 hücre var 2'si "0"'sa 10 hücre olarak düşüncez ortalama hesaplarken totalde 18'e bölcaz gibi düşünelim
 

hamitalper

Altın Üye
Katılım
25 Eylül 2020
Mesajlar
42
Excel Vers. ve Dili
2010 ve 2016 Excel
Altın Üyelik Bitiş Tarihi
13-09-2025
Sub AktarVeriler()
Dim ws As Worksheet
Dim denemeWs As Worksheet
Dim i As Long, j As Long, lastCol As Long
Dim rowCount As Long

' "İSTENİLEN 1" sayfasını ayarla
Set denemeWs = ThisWorkbook.Sheets("İSTENİLEN 1")
rowCount = 2

' A, B, C sayfalarını döngüye al
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "İSTENİLEN 1" Then
' B sütunundaki verileri döngüye al
For i = 2 To ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
' Son sütunu bul
lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

' Tarihleri ve sayıları döngüye al
For j = 4 To lastCol
denemeWs.Cells(rowCount, 2).Value = ws.Name
denemeWs.Cells(rowCount, 3).Value = ws.Cells(i, 2).Value
denemeWs.Cells(rowCount, 4).Value = ws.Cells(1, j).Value
denemeWs.Cells(rowCount, 5).Value = ws.Cells(i, j).Value
rowCount = rowCount + 1
Next j
Next i
End If
Next ws
End Sub


2.istenen de neyin ortalaması alınacak yazmamışsınız.

kolay gelsin
hocam kod dökmedi bu arada sütunlara dönüştürmedi ://
 
Üst