| 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 |
Η ώρα είναι 08:52.



Αλλαγή σε γραμμικό τρόπο

