Εμφάνιση ενός μόνο μηνύματος
  #10  
Παλιά 17-08-11, 14:55
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα Σταύρο!

Δες ένα παραδειγματικό κώδικα:
Κώδικας:
Option Explicit

Sub FillPlanTable()
    Dim rngSourceDates As Range
    Dim rngTargetDates As Range
    Dim rngRooms As Range
    Dim c As Range
    Dim d As Range
    Dim f As Range
    Dim FirstAddress As String
    Dim iCol As Integer
    Dim iRow As Integer

    Set rngSourceDates = Worksheets(1).Range("A:A")
    Set rngRooms = Range("C1:N1")
    On Error GoTo ErrH
    Set rngTargetDates = Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row)
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = True
    With rngRooms
        .Offset(1).Resize(rngTargetDates.Count, .Count).Replace _
                What:=ChrW(922), Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, _
                SearchFormat:=False, ReplaceFormat:=False

        .Offset(1).Resize(rngTargetDates.Count, .Count).Replace _
                What:="K", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, _
                SearchFormat:=False, ReplaceFormat:=False
    End With
    For Each c In rngTargetDates
        If Not IsEmpty(c) And IsDate(c) Then
            Set f = rngSourceDates.Find(c)
            If Not f Is Nothing Then
                FirstAddress = f.Address
                Do
                    Set d = rngRooms.Find(What:=f.Offset(, 1), LookIn:=xlValues)
                    If Not d Is Nothing Then
                        iRow = c.Row
                        iCol = d.Column
                        Cells(iRow, iCol) = "K"
                    End If
                    Set f = rngSourceDates.Find(What:=c, After:=f)
                    If f Is Nothing Then Exit Do
                Loop While f.Address <> FirstAddress
            End If
        End If
    Next
ErrH:
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    If Err Then MsgBox Err & vbLf & Err.Description, vbExclamation
End Sub
Δες και το συνημμένο παράδειγμα παρακάτω.


Καλή συνέχεια!

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls ΚΑΘΑΡΙΣΜΑΤΑ.xls (53,5 KB, 62 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση