Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Παρακαλώ την βοήθειά σας. Στο επισυναπτόμενο αρχείο στο φύλλο εργασίας (Data) καταγράφω κάποιες δραστηριότητες ενός μηνός. Στο δεύτερο φύλλο εργασίας (Update) μεταφέρω τα δεδομένα εκάστου μηνός με VBA . Κώδικας: Sub Items_per_Month() Dim LastCell As Range Application.ScreenUpdating = False Application.Goto Reference:="Data" Selection.Copy Sheets("Update").Select With ActiveSheet Set LastCell = .Cells(.Rows.Count, "B").End(xlUp) If IsEmpty(LastCell) Then Else Set LastCell = LastCell.Offset(1, 0) End If End With LastCell.Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False LastCell(2).Select End Sub Το ζητούμενο είναι το κελί εισαγωγής των δεδομένων να προσδιορίζεται συγκρίνοντας το κελί (Α1) με την περιοχή κελιών (Month) και να επιλέγεται το πρώτο κελί δεξιά στην στήλη Β, καθώς επίσης αν υπάρχουν ήδη δεδομένα σ’ αυτό το κελί να βγαίνει προειδοποιητικό μήνυμα του τύπου Yes/No αν θέλουμε να γίνει η ενημέρωση η όχι. Σας ευχαριστώ εκ των προτέρων Γιώργος |
#2
|
![]()
Φίλε Γιώργο, Ο παρακάτω κώδικας κάνει νομίζω αυτό που θέλεις. Κώδικας: Sub Copy_month() Dim LastCell As Range Application.ScreenUpdating = False Range("Data").Copy With Sheets("Update") Set LastCell = .Cells(Range("Months").Row - 1 + _ Application.WorksheetFunction.Match(Range("A1").Value, Range("Months"), 0), "B") If IsEmpty(LastCell.Value) Then LastCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False ElseIf MsgBox("Do you want to overwrite?", vbYesNo) = vbYes Then LastCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False End If Application.CutCopyMode = False End With LastCell.Select Application.ScreenUpdating = True End Sub Θανάσης |
#3
| |||
| |||
![]()
Θανάση ευχαριστώ πολύ για την άμεση απάντηση ![]() Κάνει ακριβώς το ζητούμενο. Και πάλι ευχαριστώ πολύ. Γιώργος |
#4
| ||||
| ||||
![]()
Καλησπέρα! Φίλε Γιώργο δοκίμασε: Κώδικας: Sub SetValues() Dim rng As Range, rng1 As Range Set rng = Range("Months").Find(Range("Months").Parent.Range("A1"), , xlValues) If Not rng Is Nothing Then Set rng = rng.Offset(, 1).Resize(1, Range("Data").Columns.Count) On Error Resume Next Set rng1 = rng.SpecialCells(xlCellTypeConstants) If Not rng1 Is Nothing Then If MsgBox("Ο μήνας " & rng.Offset(, -1)(1) & " περιέχει ήδη δεδομένα!" & vbLf & _ "Θέλετε να ενημερώσετε τα δεδομένα αυτά;", vbYesNo + vbQuestion) <> vbYes Then Exit Sub End If End If rng.Value = Range("Data").Value End If End Sub Τάσος Θανάση με πρόλαβες! ![]()
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#5
| |||
| |||
![]()
Τάσο σ ευχαριστώ κι εσένα Το γεγονός ότι προλαβαίνει ο ένας τον άλλο δείχνει το μεγάλο ενδιαφέρον για τα προβλήματα των μέλων του Forum Και πάλι σας ευχαριστώ Γιώργος |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Ερωτήματα ] Εμφάνιση τρέχοντος μήνα | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 4 | 12-09-16 09:11 |
[Συναρτήσεις] Συγκεντρωτικά στοιχεία μήνα. | bill72 | Excel - Ερωτήσεις / Απαντήσεις | 8 | 08-07-16 21:37 |
[Συναρτήσεις] Eύρεση Μ.Ο. ανά μήνα | ικεατη | Excel - Ερωτήσεις / Απαντήσεις | 28 | 27-02-12 09:27 |
[Συναρτήσεις] DATEDIF ανά μήνα | shotcon | Excel - Ερωτήσεις / Απαντήσεις | 23 | 21-02-12 15:56 |
[Γενικά] Συγκεντρωτικό για όλο τον μήνα. | misirlis | Excel - Ερωτήσεις / Απαντήσεις | 12 | 10-06-11 10:20 |
Η ώρα είναι 03:50.