Εμφάνιση ενός μόνο μηνύματος
  #17  
Παλιά 13-05-11, 22:16
nikosjc Ο χρήστης nikosjc δεν είναι συνδεδεμένος
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-05-2011
Περιοχή: Χαλκίδα
Μηνύματα: 26
Προεπιλογή

Τάσο τελικά όντως ήταν δικιά μου η βλακεία! Ξέχασα να σβήσω τα tabs από τα cSeperators! Για την ακρίβεια νόμιζα ότι χρησιμοποιούνται για την μετακίνηση στις στήλες και δεν κατάλαβα ότι βάζοντας το ";" δημιουργείται ο διαχωρισμός. Τώρα έμαθα!

Βγαίνει μια χαρά το csv, βέβαια η δοκιμή θα γίνει τη δευτέρα στη δουλειά, αλλά νομίζω ότι είμαστε οκ. Και πάλι σ'ευχαριστώ για τον κόπο και τον χρόνο σου!!!

Φίλε gr8styl, με τις λίγες γνώσεις που έχω πάνω στο θέμα το είχα ψιλοψάξει για διαφορές unicode και ansi, αλλά δεν είχα βρει και πολλά πράγματα, τουλάχιστον όχι αρκετά σαφή για να με βοηθήσουν στο πρόβλημα που είχα. Σ'ευχαριστώ πολύ για την ενημέρωση και θα το ψάξω.

Εντελώς εγκυκλοπαιδικά τώρα, επειδή έκανα μια ψιλοτροποποίηση στον κώδικα για έναν επιπλέον έλεγχο που χρειάστηκα, και επειδή οι γνώσεις μου στον προγραμματισμό σταματάνε κάπου στα if, for, κλπ, ρίξτε μια ματιά οι πιο έμπειροι στο παρακάτω, πως θα μπορούσε να είναι πιο μαζεμένος ο κώδικας μου?

Παράθεση:
For i = Range("G1").Column To Range("G1").End(xlToRight).Column
Set d = Range(Cells(2, i), Cells(RowsCount, i))
d.Select
For r = 1 To RowsCount
If d(r) <> 0 Then
If InStr(rng(r).Offset(, 2).Text, "1001-") Then
tmpString = _
c2Seperator & _
rng(r).Text & _
c4Seperator & _
d(r).Text & _
c4Seperator & _
cSeperator & _
1 & _
c2Seperator & _
cSeperator & _
rng(r).Offset(, 2).Text & _
cSeperator & _
rng(r).Offset(, 3).Text & _
vbNewLine
strCSV = strCSV & tmpString
tmpString = vbNullString

Else
tmpString = _
c2Seperator & _
rng(r).Text & _
c4Seperator & _
d(r).Text & _
cSeperator & _
rng(r).Offset(, 2).Text & _
c4Seperator & _
1 & _
c3Seperator & _
rng(r).Offset(, 3).Text & _
vbNewLine
strCSV = strCSV & tmpString
tmpString = vbNullString
End If
End If
Next
tmpString = Cells(1, i) & ".csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Στην ουσία ήθελα όταν κάποιοι κωδικοί ξεκινάνε με "1001-" αντί να μπαίνουν μαζί με τους άλλους, να μπαίνουν στην στήλη Q. Οπότε πρόσθεσα τα κόκκινα και τα μπλε. Δουλεύει κανονικά έτσι όπως το έχω (βέβαια ακόμα και τα cSeperator συνδυαστικά τα έβαλα, δεν έφτιαξα άλλα!), απλά ενημερωτικά ρωτάω αν υπάρχει κάποιος λιγότερο... μπακάλικος τρόπος για τον 2ο έλεγχο?
Απάντηση με παράθεση