Tüm Versiyonu Göster : Excel ' de Kopyalama makrosu nasıl yazılır?
Arkadaşlar bir şirkette çalışıyorum Bu şirketin kullandığı bir parça listesi var yaklaşık 2300 kadar parça var ve hepsi excelde katogorililenmiş. Amacımız şu her sayfada bir listeye ekle butonu koyup liste , bu buton tıklandığında aktif olan parça adı ve numarasını liste adlı sayfada hücreye sırasıyla kopyalaması fakat sorunumuz şu oldu 1 parça istediğimiz hüreye kopyalanıyor fakat ikinci parçayı kopyalama yapınca bu 1. parçayı silip üzerine yapıştırıyor . Yani sorun kopyalama işlemini liste sayfasında ilk boş bulduğu satıra kopyalamasını nasıl sağlarım . bu konuda yardımcı olursanız sevinirim .
Merhaba sejder.
Foruma hoşgeldiniz. :hey:
Yeni okutmadan önce aşağıdaki kodu ekleyin;
Sheets("Sayfa1").Range("A65536").End(xlUp).Offset(1, 0).Select
Sayfa ve kolon bilgisini ihtiyacınıza göre değiştirerek kullanabilirsiniz.
Umarım faydalı olur.
aktif hücreyi kopyalamayı içeren makroyu yazarsan sevinirim tabi mümkünse
Birinci mesajınızdan anladığıma göre kopyalamayı kod ile başarmışsınız.
İsterseniz siz kendi kodunuzu yazın onun üzerine konuşalım, zira bu şekilde karanlıkta ilermeye çalışacak gibiyiz.
Saygılar
Size iki çözüm ;
1.cisi activ sayfada active hucre en son veri girdiğiniz hucre ise
Sub Cozum1()
Dim i As Integer
Set Sliste = Worksheets("liste")
For i = 2 To 30000
If Sliste.Range("A" & i).Value = Empty Then
Sliste.Range("A" & i).Value = ActiveCell.Value
Sliste.Range("B" & i).Value = ActiveCell.Offset(0, 1).Value
Exit Sub
End If
Next i
End Sub
2.cisi ise Activ sayfada activ hucra neresi olursa olsun.en son veri girişi yaptığınız hucredeki veriyi liste sayfasına aktarır.
Sub Cozum2()
Dim iliste, satir As Integer
Dim hucre As Range
Set Sliste = Worksheets("liste")
For iliste = 2 To WorksheetFunction.CountA(Range("A1:A65000"))
For Each hucre In Range("A1:A65000").Cells
If hucre.Value = Empty Then
satir = hucre.Row - 1
GoTo cik
End If
Next hucre
cik:
If Sliste.Range("A" & iliste).Value = Empty Then
Sliste.Range("A" & iliste).Value = ActiveSheet.Cells(satir, 1).Value
Sliste.Range("B" & iliste).Value = ActiveSheet.Cells(satir, 2).Value
Exit Sub
End If
Next iliste
End Sub
Burada listeniz a ve b surunlarında olduğunu ve devamlı şekilde liste sayfasına aktaracağınızı hesap ederek yapılmıştır
Sheets("Sayfa1").Range("A65536").End(xlUp).Offset(1, 0).Select
kullanmak işimi gördü fakat seçili hücrenin yanndaki üç hücreyi kopyalamak için nasıl bir yol izlemeliyim?
red_lion_72
18-08-2004, 12:58
Sheets("Sayfa1").Range("A65536").End(xlUp).Offset(1, 0).Select
kullanmak işimi gördü fakat seçili hücrenin yanndaki üç hücreyi kopyalamak için nasıl bir yol izlemeliyim?
selam,
Dim de1, de2 As String
Range("f1").Value = ActiveCell.Address
ActiveCell.Offset(0, 2).Select
Range("f2").Value = ActiveCell.Address
de1 = Range("f1").Value
de2 = Range("f2").Value
Range(de1, de2).Select
selection.copy
bu kod işinizi görür sanırım.
açıklaması;aktif hücrenin adresini f1 hücresine yazıyor,sonra sağa doğru 2 hücre gidiyor, sonra o hücrenin adresini de f2 hücresine yazıyor, sonra bunları değişkenlere(de1, de2) atayıp değişkenlere atanan hücreleri seçiyor. seçtiği bölgeyi de kopyalıyor, daha sonra istediğiniz yere yapıştırabilirsiniz :hihoho:
kolay gelsin.
lütfen banada yardım.
İstediğim a1:a50 ve b1:b50 arası hücreleri kopyalayıp bunları a2 ve b2 den itibaren aşağı yazması
yani bütün hücredeki bilgileri bir aşağı hücreden itibaren aşağı taşısın (vya kopyalasın). yani 1. satırdan itibaren aşağıdaki bilgieri 2.satıra taşımak.
Bir diğeri ise a2:a50 ve b2:b50 deki hücreleri a1 e b1 hücrelerine taşımak (veya kopyalamak) .yani hücreleri 2. satırdan itibaran aşağıdakileri 1. satıra taşımak.
teşekkürler....
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.