deadwoll Mesaj tarihi: Şubat 9, 2016 Mesaj tarihi: Şubat 9, 2016 Şimdi benim elimde asdfghj asdfghj asdfghj asdfghj şeklinde 4x5x6 hücrelik bir veri seti var diyelim (bayağı büyük orjinali, 20X4X185 hücrelik falan) ben bu veri setini a a a a s s s s d d d d . . . şekline sokmak istiyorum. Normalde elle C/P yapıyorum ama illallah dedim artık, her allahın günü 10 tane excel dosyasıyla uğraşıyorum. Bunun bir kısa yolu, macro'su falan var mıdır? Nasıl yaparım?
axedice Mesaj tarihi: Şubat 9, 2016 Mesaj tarihi: Şubat 9, 2016 Excel başlıklarını görünce hep bi yardım etmek istiyorum. Sonra yazılanlardan hiç bişey anlamayıp kendimi kötü hissediyorum =(( Oğlum düzgü yazın la ne istiyonuz. Hatta daha iyisi bi ham dosyayı, bi de istediğin sonucu al koy öyle yol gösterelim.
deadwoll Mesaj tarihi: Şubat 9, 2016 Konuyu açan Mesaj tarihi: Şubat 9, 2016 Dur bi örnek veri seti paylaşayım.
BonePART Mesaj tarihi: Şubat 9, 2016 Mesaj tarihi: Şubat 9, 2016 deadwoll said: Şimdi benim elimde asdfghj asdfghj asdfghj asdfghj şeklinde 4x5x6 hücrelik bir veri seti var diyelim (bayağı büyük orjinali, 20X4X185 hücrelik falan) ben bu veri setini a a a a s s s s d d d d . . . şekline sokmak istiyorum. Normalde elle C/P yapıyorum ama illallah dedim artık, her allahın günü 10 tane excel dosyasıyla uğraşıyorum. Bunun bir kısa yolu, macro'su falan var mıdır? Nasıl yaparım? şu data seti hiç 4*5*6 değil oda ayrı bi sorun
ginaly Mesaj tarihi: Şubat 9, 2016 Mesaj tarihi: Şubat 9, 2016 A1 hücresinden başlamak üzere dizili asdfghj asdfghj asdfghj asdfghj veri seti için; Sub illallah() Dim i As Variant For i = 2 To 7 Dim k As Variant k = (4 * (i - 1)) + 1 Range("A1").Select ActiveCell.Offset(0, i - 1).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Range("A" & k).Select Selection.PasteSpecial Next Range("B:G").Delete End Sub buna benzetirsin artık elindekini.
deadwoll Mesaj tarihi: Şubat 9, 2016 Konuyu açan Mesaj tarihi: Şubat 9, 2016 Aman 7 fazla basmışım sdfklj. Tab delimited yapıp kopyaladım veriyi. Excel'de sorunsuz açılır herhalde. http://pastebin.com/8JkLgW9A Orda state 1 ve state 3 var (1111 ve 3333 diye giden sütunlar) onlar ve onlara ait tüm veriler altalta gelecek işte. Bildiğiniz panel veriseti. 1 1 1 1 3 3 3 3 gibi.
deadwoll Mesaj tarihi: Şubat 9, 2016 Konuyu açan Mesaj tarihi: Şubat 9, 2016 ginaly said: A1 hücresinden başlamak üzere dizili asdfghj asdfghj asdfghj asdfghj veri seti için; Sub illallah() Dim i As Variant For i = 2 To 7 Dim k As Variant k = (4 * (i - 1)) + 1 Range("A1").Select ActiveCell.Offset(0, i - 1).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Range("A" & k).Select Selection.PasteSpecial Next Range("B:G").Delete End Sub buna benzetirsin artık elindekini. Eline sağlık bu oldu da, sütun setleri şeklinde yapmak istesem nereyi düzelticem, beceremedim. Yani ne bileyim ilk 6 sütun yerinde dursun, sonraki 6 sütun aşağı insin gibi gibi.
ginaly Mesaj tarihi: Şubat 10, 2016 Mesaj tarihi: Şubat 10, 2016 Sub illallah() Dim i As Variant For i = 2 To 7 (For döngüsü. For ile next operatörleri arasında belirlenen sayıları i'ye verir. İlk başka i=2 için yapacak, next'e geldiğinde tekrar buraya dönüp i=3 için yapacak falan. Burada asdfghj dizimizde 7 sütun olduğundan 7'de bıraktık. 2'den başlama sebebi ise ilk sütunu kopyalamaya gerek olmaması) Dim k As Variant (dim variable tanımlar. bir k variable'ım olsun ve bu her şey olsun (variant) ya da sadece tam sayı olsun (integer). hayvani kodlar yazmadıkça hepsine variant de geç) k = (4 * (i - 1)) + 1 (tanımladığımız k'nın formülü. Bu formülün kaynağı da şu; asdfghj dizisinde 4 satır var. her kopyalamayı 4x+1'inci hücreye yapmak istiyoruz. Yani B sütununu alınca, 4*1+1, C sütununu alınca 4*2+1'inci satıra kopyalayalım diye) Range("A1").Select (A1 hücresini seç. Örneğin burada ilk 6 sütuna ellemeyeceksek A1'i değil de G1'i seçeriz) ActiveCell.Offset(0, i - 1).Select (seçtiğin hücreden i-1 kadar sağa git) Range(Selection, Selection.End(xlDown)).Select (şimdi bunu aşağı doğru komple seç) Selection.Copy (seçtiğini kopyala) Range("A" & k).Select (yukarıdaki k'yı burada kullanıyoruz, i=2 için k=5 çıkar, A5 hücresini seçer. i=3 için A9 hücresini seçer. Burayı yapıştırma için kullanacaz, eğer ilk 6 sütunu boş bıraktıysak muhtemelen G'nin altına yapıştırmak isteyecez, o zaman A'yı G yaparız.) Selection.PasteSpecial (buraya yabıştır) Next Range("B:G").Delete (hepsini A sütununa kopyaladık diye diğer sütunları siler. Burada örneğin ilk 6 sütunu kullanmazsak, B'den değil, 6 sütun sonradan başlatırız) End Sub
deadwoll Mesaj tarihi: Şubat 10, 2016 Konuyu açan Mesaj tarihi: Şubat 10, 2016 Ben anlatamadım derdimi bir türlü QQ Ginaly'nin yazdığı kod benim verdiğim basit örnek için işe yaradı ama bloklar halinde c/p yapmak pek mümkün değil. Ben de visual basic hiç bilmiyorum, hayatımda ilk kez karşılaştım ginaly yazınca, o yüzden pek uyduramadım. https://www.youtube.com/watch?v=1YAZj_0DHuM Şöyle dönüştürmem gerekiyor tabloyu. Bu arada ben bi çıkış yolu buldum ekstra program kullanarak. Önce verilerin i ve j indislerini ayarlıyorum excel'de (sort'la kolay oluyor bu kısım). STATA'da istediğim şekle sokuyorum 2 satırlık bir kodla; son olarak da excel'e geri export ediyorum... Excel'de Tableau diye bir add-in varmış bu arada ama onun da macOs versiyonu yok + paralı.
Öne çıkan mesajlar