Excel'de, bir hücrenin verilerini (VBA) otomatik olarak nasıl değiştirebilirim?


0

Verilerin içine yapıştırıldığında hücrelerin içeriğini otomatik olarak değiştirmek istiyorum. Veriler, Excel'deki bir sayfanın Q sütununa yapıştırılacaktır. 'Kullanıcılar' başlıklı başka bir sayfanın A sütununda yer alan verilerle eşleşmesi ve aynı değeri aynı sütunun B sütununda karşılık gelen değeri döndürmesi gerekiyor. VBA kodlaması konusunda çok az bilgim olmasına rağmen, VBA'nın kullanılmasını gerektireceğini tahmin ediyorum!

Herhangi bir yardım çok takdir edilecektir!


1
Lütfen ne yapmaya çalıştığınızı daha önce açıklamak için, daha önce denedikleriniz de dahil olmak üzere sorunuzu düzenleyin , ardından nasıl başaracağınızı sorun. Sorunuza çözüm yöntemini dahil ederek yalnızca VBA çözümlerinin cevaplarını sınırlar. VBA dışı bir çözüm olabilir.
CharlieRB

Bakın worksheet change eventve nerede sıkışıp kaldığınızı bize bildirin
Raystafarian

Şunu musun sütun Q giriş belirli bir değer olduğunda Sayfa1'deki sonra Excel "ile bakmak A sütunundaki bu değeri" sheet2 ve B sütunu değerini döndürmek levha 2 ile Sayfa1'ın . Ama hangi sütunda Sayfa1'ın ?
Prasanna,

Lütfen bana sayfa 1'deki Q sütunundaki değeri değiştirmesi gerektiğini söyleme . Sonra bu döngüsel bir bağlantı haline gelir. Excel bir uyarı atar - bu durumda
Prasanna

Merhaba arkadaşlar, yorumlarınız için teşekkürler. Bu sitedeki başka bir sorunun cevabını aradığım ile tamamen aynı görünen bir şey için bir kod buldum: superuser.com/questions/541674/… Nasıl uyarlayacağımı bulmak için uğraşıyorum Çalıştığım hücrelere. Düzenimi biraz değiştirdim. Bu yüzden içine veri yapıştırdığım hücreler Q sütunundadır. Bakmak istediğim hücreler aynı sayfadaki Z sütunundadır ve karşılık gelen değeri AA sütunundan döndürmesini istiyorum.
Alan,

Yanıtlar:


1

Ne istersen yapabileceğine inanmıyorum. Bildiğim kadarıyla sadece macunları tespit etmenin yolu yok.

En yakın kullanmak

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Ancak, bu sayfadaki herhangi bir değişiklik yapıldığında her zaman patlayacağı anlamına gelir.

Dolayısıyla, bir çözüm olarak, yapabileceğiniz şey Col Q içine yapıştırmak ve ardından bir makroyu el ile çalıştırmak (daha kolaysa bir düğmeye atayabilirsiniz).

Option Explicit

Sub MatchThePairs()

'You can edit this top bit

'The name of column you are pasting into
Dim pastedCol As String
pastedCol = "Q" 'UPDATE ME IF NEEDED

'The name of the look up column
Dim lookupCol As String
lookupCol = "Z" 'UPDATE ME IF NEEDED

'The name of the look to show results
Dim resultCol As String
resultCol = "AA" 'UPDATE ME IF NEEDED

'Do you want to clear the results first ?
Dim clearResults As Boolean
clearResults = True 'CHANGE ME TO True OR False

'What is the row of the header (if you have one)
Dim rowHeader As Integer
rowHeader = 1 ' set to 0 if no header

'What is the name of the results column
Dim resultsColHeader As String
resultsColHeader = "ResultsCol" ' Change me to what ever

'what is the first row (do not include the headings)
Dim row As Integer
row = 2 'AS PER THE SCEEN SHOT, I STARTED ON ROW 2



' **** hopefully you won't need to edit anything below this

If clearResults Then
    Range(resultCol & ":" & resultCol).Cells.Clear

    If rowHeader > 0 Then
       Range(resultCol & rowHeader).Value = resultsColHeader
    End If


End If

Do While (Range(pastedCol & row).Value <> "")

    If Range(pastedCol & row).Value = Range(lookupCol & row).Value Then
        'yipee, a match
        Range(resultCol & row).Value = Range(lookupCol & row).Value
    End If
    row = row + 1
Loop

End Sub

Önce

görüntü tanımını buraya girin

Sonra

görüntü tanımını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.