Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Αντιμετάθεση (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1590-antimetathesi.html)

Spirosgr 25-01-12 18:04

Αντιμετάθεση
 
1 Συνημμένο(α)
Καλησπέρα
Έχω ένα θέμα που κολλάω λίγο και θα ήθελα βοήθεια
Δείτε παρακαλώ το συνημμένο
Ευχαριστώ
ΥΓ αν έχει ανέβει παρόμοιο θέμα συγνώμη δεν είχα χρόνο να το ψάξω στην παρούσα φάση

Tasos 25-01-12 19:00

Καλησπέρα σε όλους!

Σπύρο, το ζητούμενο σου αφορά τα κελιά στην πρώτη γραμμή και στην πρώτη στήλη
ή για κελιά μιας συγκεκριμένης περιοχής;

Τάσος

Spirosgr 25-01-12 19:03

Πρώτη γραμμή πρώτη στήλη Τάσο.

Tasos 25-01-12 21:11

Αγαπητέ Σπύρο, το ζητούμενο δεν μπορεί να επιτευχθεί με απλό τρόπο με τα μέσα που μας παρέχει η Excel.

Θα χρειαστεί κώδικας VBA.

Τι προτείνω λοιπόν:
Πρώτα θα πρέπει να μετατρέψεις το βιβλίο σου σε *.xlsm για να μπορεί να εκτελέσει κώδικα VBA.

Δώσε στην περιοχή A1:J13 το όνομα: TransposeArea

Συμπλήρωση: Μπορείς να μετακινήσεις τη περιοχή αυτή σε όποιο σημείο του φύλλου θελήσεις.

Κάνε δεξί κλικ στη καρτέλα του φύλλου που περιέχει την περιοχή TransposeArea και επίλεξε: Προβολή κώδικα.

Στο παράθυρο που θα εμφανιστεί (VBE), πέρασε τον παρακάτω κώδικα:

Κώδικας:

Option Explicit
Dim TargetColumn As Integer, TargetRow As Integer, rng As Range

Private Sub Worksheet_Change(ByVal Target As Range)
    Set rng = Me.Range("TransposeArea")
    If Not Intersect(Target, rng) Is Nothing Then
        If Target.Count = 1 Then
            TargetColumn = Target.Column - rng.Column + 1
            TargetRow = Target.Row - rng.Row + 1
            'Αν αφαιρέσεις την παρακάτω γραμμή _
            η αντιμετάθεση θα πραγματοποιείται σε όλη την περιοχή "TransposeArea"
            '---------------------------------------------------------------------
            If TargetColumn <> 1 And TargetRow <> 1 Then Exit Sub
            '---------------------------------------------------------------------
            On Error Resume Next
            Application.EnableEvents = False
            rng.Cells(TargetColumn, TargetRow) = Target
            Application.EnableEvents = True
        End If
    End If
End Sub

Δοκίμασε και τα λέμε.

Φιλικά

Τάσος

Spirosgr 25-01-12 22:33

Τάσο χίλια Ευχαριστώ !
Δουλεύει Άψογα !
Να ΄σαι καλά...!


Η ώρα είναι 11:30.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2