Tecnologia, programação e muito Visual FoxPro.

sábado, 14 de agosto de 2010

Re: ]] XL-mania [[ Merubah Huruf

 

Bagaimana kalau seandainya KATA-KATA TERTENTU itu di dalam kalimatnya
mengandung KOMA, TITIK, KURUNG atau tanda baca lain;  misal :
"PULANG DARI RSPAD, DIA LANGSUNG TIDUR."
Hasil yang diinginkan : "Pulang Dari RSPAD, Dia Langsung Tidur."

Dengan UDF yg sudah dibuat kemaren, hasilnya salah, karena  :
  "RSPAD"  (kriteria yg ada di daftar Kata-Kata Tertentu" tentu statusnya tidak sama
  dengan "RSPAD," yg ada di Kalimat.

Untuk kasus seperti ini kita dapat meningkatkan UDF kita dengan memodifikasinya
antara lain dengan coding sbb:

Function SpecialProper(Str As String, Daftar As Range) As String
   ' siti Vi // 12 Agu 2010 / devoted to XL-mania
   ' fungsi seperti PROPER tetapi mengabaikan Daftar Kata tertentu
   Dim StrArr As Variant
   Dim Tanda As Variant
   Dim Txt As String
   Dim k As String
   Dim i As Integer
   Dim n As Integer
   Dim t As Integer
  
   Tanda = ". , ; : ' ( ) @ # [ ] / ! ? % " & """"
   Tanda = Split(Tanda, " ")
   StrArr = Split(Str, " ")
   For i = 0 To UBound(StrArr)
      For n = 1 To Daftar.Rows.Count
                  ' Proses untuk mengabaikan tanda baca
         k = StrArr(i)
         For t = 0 To UBound(Tanda)
           k = Replace(k, Tanda(t), "")
         Next t
         If UCase(k) = UCase(Daftar(n)) Then
            StrArr(i) = UCase(StrArr(i))
            Exit For
         Else
            StrArr(i) = WorksheetFunction.Proper(StrArr(i))
         End If
      Next n
    Next i
    For i = 0 To UBound(StrArr)
       Txt = Txt & StrArr(i) & " "
    Next i
   SpecialProper = Trim(Txt)
End Function
'----------------------------



2010/8/13 STDEV(i) <setiyowati.devi@gmail.com>
Anda punya banyak kalimat di mana semua hurufnya = Huruf CAPITAL /
(UpperCase) atau semua hurufnya = huruf kecil (lowerCase), atau..
Upper/Lower-Casenya tidak beraturan..

Truzz... anda ingin mengubah banyak kalimat tsb menjadi "Proper";
yaitu semua Huruf Pertama = UpperCase; selain itu semua huruf = LowerCase.

Tetapi anda ingin agar KATA-KATA tertentu tetap ditulis sebagai UpperCase 
Yang dimaksud dengan kata-kata tertentu tsb biasanya berupa singkatan, misal :
RS, PT, CV, RUP, RSU, SH, SE, PRJ, DLLAJR,
POLRI, TNI, RRI, TVRI, SCTV, RCTI, DKI, DIY,
KDRT, CLBK
(=cinta lama belon kelar)  dst..

contoh

"AKU BERPISAH DI TERAS RSPAD GATOT SUBROTO"
/ "aku berpisah di teras rspad gatot subroto"

ingin diubah menjadi
"Aku Berpisah Di Teras RSPAD Gatot Subroto"
dengan RSPAD ingin ditulis sebagai huruf Capital SEMUA

Seandainya anda punya atau MAU membuat daftar kata-kata yg anda inginkan
mendapat perlakuan istimewa seperti itu, maka kita dapat dengan mudah memenuhi
keinginan tsb
Cara paling mudah kita buat sendiri sebuah fungsi khusus

Dlm workbook lampiran; kita membuat fungsi khusus yg bernama
Special Proper.
sintaks nya  =SpecialProper(Text,RangeBerisiDaftarKata)

'------------
' listing prosedur fungsi


Function SpecialProper(Str As String, Daftar As Range) As String
' siti Vi // 12 Agu 2010 / devoted to XL-mania
'
fungsi seperti PROPER tetapi mengabaikan Daftar Kata tertentu

Dim Txt As String    
'= String penampung kata
Dim StrArr As Variant
'= Array Kata ex Str (Data kalimat)
Dim i As Integer      
'= pencacah (counter) Loop I
Dim n As Integer      
'= pencacah Loop II

StrArr = Split(Str, " ")
For i = 0 To UBound(StrArr)
For n = 1 To Daftar.Rows.Count
UCase(StrArr(i)) = Daftar(n) Then
StrArr(i) = UCase(StrArr(i))
Exit For
Else
StrArr(i) = WorksheetFunction.Proper(StrArr(i))
End If
Next n
Next i

For i = 0 To UBound(StrArr)
Txt = Txt & StrArr(i) & " "
Next i
SpecialProper = Trim(Txt)
End Function

'-------------


__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| selamat menunaikan ibadah puasa... walau perut lapar, tanya excel |
| jalan terus... malu bertanya telat pulang kantor :D :D :D         |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog