Dear mbak STDEV(i),
 
Jawabannya sangat sesuai dengan yang saya harapkan.
Hanya yang tanda "plus" harusnya "minus" itu saja.
Mbak STDEV(i) belajar Excelnya di Bill Gate ya?
Terima kasih.
 
Regards
 

From: STDEV(i) <[email protected]>
To: [email protected]
Sent: Wednesday, April 13, 2011 10:57 AM
Subject: Re: [belajar-excel] Mengubah string menjadi numerik, kemudian diubah 
lagi menjadi string lagi dalam macro


  
x = Format(CInt(Mid(Sheets(2).Name, 3, 2)) + 1, "00") 

sebetulnya sangat riskan  (Rawan salah & Rawan nguawurr)  membcarakan makro
tanpa melihat object yg di-makro-in...

CInt fungsi untuk mengkonversi  STRING berisi Angka menjadi BILANGAN 
asal masih di skope Integer  (+/- 32 ribuan)
bisa dicoba dengan fungsi lain misal  Val, CLng, 

Format  adalah fungsi yg setara dengan fungsi TEXT di worksheet
dlm kasus di atas mentext kan bilangan  menjadi bentuk dua karakter dengan 
leading zero
tetapi data hasilnya bertype String






2011/4/13 Herry Sutjipto <[email protected]>

  
>Baik mbak STDEV(i) and Alll,
>
>Sekarang kembali ke persoalan lama, terlampir saya sertakan Macro made by 
>mbak  STDEV(i) yang sudah sedikit saya modifikasi, sbb:
>
>Sub DaftarSheet()
>'------------------------
>' siti Vi / jan 2010
>'------------------------
>' Mendaftar nama sheet dalam workbook
>'
>   Dim lSheet As Long
>   Dim iRow As Long
>   Dim Bln As String
>   
>   iRow = 6
>   Bln = Mid(Sheets(2).Name, 3, 2)
>   If Val(Bln) > 0 And Val(Bln) < 13 Then
>      Bln = Format(DateSerial(2010, CInt(Bln), 1), _
>            "[$-421]MMMM") & " 20" & Mid(Sheets(2).Name, 5, 2)
>            
>   Else
>      Bln = "Error nama sheet: " & Sheets(2).Name
>      Range("A1") = Bln
>      Exit Sub
>   End If
>   Range("A1") = "RESUME REALISASI PEMANFAATAN DANA BULAN " + UCase(Bln)
>   Range("L5") = "='[BS 2011 " + Mid(Sheets(2).Name, 3, 2) + 
>".xls]Resume'!$Q$37"
>   Range("R5") = "='[BS 2011 " + Mid(Sheets(2).Name, 3, 2) + 
>".xls]Resume'!$R$37"
>    
>   'bersihkan lokasi penulisan
>   Range("B6:B36").ClearContents
>   'loop diseluruh worksheet di workbook
>   For lSheet = 2 To Sheets.Count             'loop dari index 2 ke jumlah 
>seluruh sheet
>      Range("B" & iRow) = Sheets(lSheet).Name 'tulis nama sheet
>      iRow = iRow + 1
>   Next lSheet                                'loop lSheet
>End Sub
>
>Isi dari Mid(Sheets(2).Name, 3, 2) adalah string.
>Bagaimana mengurangi nilai Mid(Sheets(2).Name,3,2) dengan 1, kemudian 
>dijadikan string  lagi tetap dua digit, supaya statement tetap benar dan 
>rumusnya tidak error?
>
>Terima kasih.
>Herry Sutjipto
>

Kirim email ke