Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 70302 Skopiuj do schowka Zamiana komórek ze sobą
Autor Wiadomość
mateoo88 
Starszy Forumowicz


Posty: 32
Wysłany: 02-03-2021, 19:50   Zamiana komórek ze sobą

Witam,

szukam rozwiązania które pomoże mi zamienić komórki miejscami z innymi komórkami po naciśnięciu przycisku.

Tak jak w załączonym pliku: komórki od D4 do D11 zamienić z H4 do H11 i odwrotnie oraz D14 do D21 z komórkami od H14 do H21 i odwrotnie.

Bardzo dziękuję za pomoc i rady.

zamiana.xlsm
Pobierz Plik ściągnięto 11 raz(y) 11.39 KB

ID posta: 401322 Skopiuj do schowka
 
 
kuma 
Excel Expert


Wersja: Win Office 2010
Pomógł: 1453 razy
Posty: 4171
Wysłany: 02-03-2021, 21:35   

Nie wiem co masz w pustych ramkach (komórkach). Jeśli są puste to sprawdź.
Kod:
Sub test_kuma()
    Dim ar, tm
    Dim i As Integer
   
    Set ar = ThisWorkbook.Sheets("Blad1").UsedRange.SpecialCells(2, 2).Areas
    For i = 1 To ar.Count Step 2
        tm = ar(i).Value
        ar(i) = ar(i + 1).Value
        ar(i + 1) = tm
    Next
End Sub
_________________
Pozdrawiam.
ID posta: 401333 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 2118 razy
Posty: 6628
Wysłany: 02-03-2021, 21:42   

Rozumiem, że chodzi o wymianę samych wartości, a nie z formatowaniem.
Kod:
Sub Zamiana()
   Wymiana Range("D4:D11"), Range("H4:H11")
   Wymiana Range("D14:D21"), Range("H14:H21")
End Sub

Sub Wymiana(x, y)
   Dim temp
   temp = x.Value
   x.Value = y.Value
   y.Value = temp
End Sub


Zamiana1.xlsm
Pobierz Plik ściągnięto 7 raz(y) 14.87 KB

ID posta: 401334 Skopiuj do schowka
 
 
mateoo88 
Starszy Forumowicz


Posty: 32
Wysłany: 02-03-2021, 22:07   

Maciej Gonet napisał/a:
Rozumiem, że chodzi o wymianę samych wartości, a nie z formatowaniem.
Kod:
Sub Zamiana()
   Wymiana Range("D4:D11"), Range("H4:H11")
   Wymiana Range("D14:D21"), Range("H14:H21")
End Sub

Sub Wymiana(x, y)
   Dim temp
   temp = x.Value
   x.Value = y.Value
   y.Value = temp
End Sub


Dziękuję za Wasze odpowiedzi. Źle trochę się wyraziłem i zapomniałem, że mam różne kolory tła w różnych komórkach. Jest możliwość aby przenosiły się te komórki na takiej samej zasadzie jak w/w/ kodzie ale razem z formatowaniem?
Dziekujeza pomoc

zamiana.xlsm
Pobierz Plik ściągnięto 8 raz(y) 16.56 KB

ID posta: 401335 Skopiuj do schowka
 
 
kuma 
Excel Expert


Wersja: Win Office 2010
Pomógł: 1453 razy
Posty: 4171
Wysłany: 02-03-2021, 22:47   

Teraz dobrze?
Kod:
Sub test2_kuma()
    Dim ar1 As Range, ar2 As Range
   
    Application.ScreenUpdating = False
    Set ar1 = [d4:d21]
    Set ar2 = [h4:h21]
   
    ar2.Copy [a4]
    ar1.Copy ar2
    [a4:a21].Copy ar1
   
    With [a4:a21]
        .ClearContents
        .Interior.Color = xlNone
        .Borders.LineStyle = xlNone
    End With
End Sub
_________________
Pozdrawiam.
ID posta: 401336 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 2118 razy
Posty: 6628
Wysłany: 03-03-2021, 00:09   

Mój wariant:
Kod:
Sub Zamiana()
   Wymiana Range("D4:D11"), Range("H4:H11")
   Wymiana Range("D14:D21"), Range("H14:H21")
End Sub

Sub Wymiana(x As Range, y As Range)
   Dim temp As Range
   Set temp = Range("XX4").Resize(x.Rows.Count, x.Columns.Count)
    x.Copy temp
    y.Copy x
    temp.Cut y
    Set temp = ActiveSheet.UsedRange
End Sub


zamiana-2b.xlsm
Pobierz Plik ściągnięto 8 raz(y) 16.21 KB

ID posta: 401339 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe