Rabu, 02 Oktober 2013

[belajar-excel] Digest Number 2574

15 New Messages

Digest #2574
1a
Re: OOP (was Macro Openoffice) by "Mr. Kid" nmkid.family@ymail.com
2b
Re: Langsung masuk ke sheet yang diinginkan by "hendrik karnadi" hendrikkarnadi
2d
Re: Langsung masuk ke sheet yang diinginkan by "Hendrik Karnadi" hendrikkarnadi
4a
Re: countif dengan kriteria bukan time by "Alen Hafit" alen_hafit
4b
Re: countif dengan kriteria bukan time by "Mr. Kid" nmkid.family@ymail.com
7b
Re: Kombinasi rumus IF, OR, AND by "Mr. Kid" nmkid.family@ymail.com
9a
Re: Penjumlahan Jam [1 Attachment] by "Mr. Kid" nmkid.family@ymail.com

Messages

Wed Oct 2, 2013 8:12 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

hehehe...
mau mulai dari mana ya..

yang sederhana saja.

*disemua module.*
Pada dasarnya prosedur property (ada Get, ada Set atau Let) digunakan untuk
berinteraksi dengan sebuah atribut yang isinya adalah suatu nilai tertentu
(bisa berupa object atau nilai skalar). Kalau dimirip-miripin alias
disimpelkan secara teknis, maka prosedur property adalah cara untuk
berinteraksi dengan variabel yang diterkait.

Jadi, misal ada variabel level module (private) bernama mMyVar, maka akses
ke variabel ini bisa diatur menggunakan prosedur property. Get untuk ambil,
Set (khusus object) atau Let untuk mengisi si variabel mMyVar.
Alhasil, misal ada property bernama MyVariable yang berisi prosedur
properti Get, maka isi mMyVar bisa diambil dengan menyebut nama prosedur
property seperti memanggil sebuah variabel.
Misal : mau ambil nilai mMyVar yang punya properti dan disimpan ke variabel
baru bernama sKerja, maka bisa langsung :
sKerja = MyVariable

*Sekarang bahas yang umum dipakai.
*
Pemakaian prosedur property secara luas adalah pada class module, alias
digunakan untuk *menentukan atau membentuk* properti suatu object yang
dibentuk melalui class tersebut.

Contoh : kenal dengan Range di Excel ? Pernah isi nilai atau ambil nilai
dari si range ? mestinya pernah kan ya... :)
kira-kira untuk hal isi didalam range akan punya cerita gini :

[image: Inline image 1]

Didalamnya Excel sana, Range adalah nama sebuah Class. Dia punya (anggap
saja) sebuah variabel khusus milik si class yang bernama mValue. Nilai yang
disimpan dalam mValue, boleh diakses semua object yang dibentuk melalui
class Range ini melalui property object bernama Value. Didalam class Range,
property bernama Value ini didefinisikan dengan prosedur property Get untuk
ambil nilai dan prosedur property Let untuk mengisi nilai.

Kemudian di VBE, pada sebuah module, ada pembuatan variabel object dari
class Range. Nama variabel object itu dinamakan misalnya rngData.
Bunyi pembuatannya begini :
Dim rngData As Range 'artinya, buatkan benda bernama rngData yang
wujudnya memiliki spesifikasi yang dijabarkan dalam class Range
Jadi, dalam rngData, akan ada property bernama Value untuk bisa mengakses
variabel bernama mValue milik si benda bernama rngData.

Kalau ada pembuatan object baru lagi
Dim rngKriteria As Range
Maka, dalam rngKriteria akan ada property bernama Value untuk bisa
mengakses variabel bernama mValue milik si benda bernama rngKriteria

Si variabel sudah terbentuk tapi belum ada isi benda aslinya, karena si
benda asli kan dipakai user di worksheet. Jadi, si rngData akan diisi
dengan sebuah range yang ada di worksheet aktif, misal range A1.
Set rngData = Range("a1") ' "sit sit, ikutan pakai range A1 dong", kata
si rngData -> kalau error, berarti rngData salah omong.

Sekarang, kalau mau mengisi nilai range A1 dengan nilai 12345, maka sama
saja akan mengisi variabel mValue milik si rngData. Aksesnya adalah melalui
properti bernama Value, yang biasanya ditulis begini :
rngData*.Value* = 12345
proses ini sebenarnya, menjalankan prosedur property Let bernama Value
milik si rngData dengan mengirim nilai 12345.
meskipun menjalankan prosedur, penggunaannya seperti memakai variabel biasa
kan. Sisi kiri sama dengan diisi sisi kanan sama dengan.

Kalau mau ambil nilai mValue milik si rngData (saat ini berisi 12345) dan
disimpan ke variabel bernama lNilaiku, akan berbunyi :
Dim lNilaiku As Long
lNilaiku = rngData*.Value*

**1) Hal ini adalah salah satu kelebihan prosedur property* dalam sebuah
property object dan hanya menjadi milik si class module jika prosedur
property nya ditulis untuk class module tersebut. Jadi, class module lain
bisa saja memiliki property bernama Value juga tapi pemiliknya beda.

Contoh, ada property Value milik class Range (boleh dibaca milik Range),
ada property value milik control TextBox. Sama-sama property value tapi
beda pemilik. Di class Range ada prosedur properti untuk property bernama
Value. Di class TextBox juga ada prosedur property bernama Value.

*Bagaimana kalau mValue diset gak pakai property ? bisa gak ?* -- bisa
kok, kita coba saja ya, biar terasa ribetnya --
Kalau ndak pakai prosedur property, berarti pakai prosedur Sub atau
Function yang sering disebut methods.
Jadi *didalam class* Range nanti akan ada 2 methods baru untuk bisa
menyimpan nilai kedalam variabel mValue, yaitu :
public sub IsiValue( vNilainya as variant ) 'untuk isi nilai ke mValue
mvalue=vnilainya
end sub

public function AmbilValue() as variant 'untuk ambil nilai dari
mValue
AmbilValue = mvalue
end sub

sampai disini, sudah akan tampak bahwa untuk ngurusin si mValue butuh 2
nama, yaitu IsiValue (mengisi alias setara property Let) dan AmbilNilai
(mengambil alias setara property Get). Alhasil, kalau nulis script, setelah
ketik rngData lalu ketik titik akan muncul 2 nama. Harus pilih yang bener,
mau isivalue atau ambilvalue.

**2) Kalau pakai property Get dan Let, namanya akan jadi property object,
dan hanya ada sebijik saja yaitu Value.*

Bagaimana cara isi nilai ke mValue dan ambil nilai dari mValue milik si
rngData ?
rngdata*.IsiValue* 12345 'isi nilai ke mValue milik rngData
lNilaiku *=* rngdata*.ambilvalue* 'ambil nilai mvalue milik rngData

**3) Ada perbedaan penulisan dalam mengisi nilai dengan mengambil nilai,
sehingga membutuhkan ketelitian lebih tinggi untuk bisa tahu dimana proses
mengisi nilainya dan dimana proses ambil nilainya.*

*Kira-kira demikianlah beberapa keuntungan prosedur property dalam
membentuk property object.*
Tentang bagaimana membentuk property object atau cara penggunaan prosedur
property Get dan (Set atau Let) ada diblog milis
disini<http://b-excel.blogspot.com/2013/07/belajarvba-006-object-dalam-excel.html>
.

Bahas OOP nya ndak usah banyak-banyak ya...
*Salah satu ciri khas sederhana OOP, pemakaiannya harus ditulis lengkap.*
Contoh : (penulisan 1)
di VBA, untuk isi range A1 dengan nilai 12345 dan B1 diisi dengan teks
'BeExcel&#39; bisa dengan :
Range("a1").Value = 12345 'workbook aktif, di sheet yang aktif, di
range A1, isi properti bernama Value dengan 12345
atau
Range("a1") = 12345 'workbook aktif, di sheet yang aktif, di range A1,
isi properti default si object (yaitu yang bernama Value) dengan 12345

Range("b1").value = "BeExcel"
atau
Range("b1") = "BeExcel"

Kalau pakai OOP yang baik, nulisnya : (penulisan 2)
ThisWorkbook.*ActiveSheet*.Range("a1").Value = 12345
ThisWorkbook.*ActiveSheet*.Range("b1").Value = "BeExcel"

Kalau bahasa pemrogramannya betul-betul full berbasis OOP, maka penulisan 2
yang bisa dijalankan dan semua penulisan 1 akan error.

Contoh di OpenOffice.org Calc untuk kasus yang sama, harus ditulis :
ThisComponent.*CurrentController.ActiveSheet*.getCellRangeByName("A1").Value
= 12345
ThisComponent.*CurrentController.ActiveSheet*.getCellRangeByName("B1").String
= "BeExcel"

banyak yang bilang, OOP nulisnya panjang banget.... xixixixi... (kan bisa
disimpen dalam variabel)

udahan dulu ya... kalo ada yang salah, dikoreksi yak...

Wassalam,
Kid.

2013/10/2 zainul_ulum[at]yahoo[dot]com <zainul_ulum@yahoo.com>

> **
>
>
> Mumpung disinggung tentang OOP kalo nggak salah kepanjangan dari (Object
> Oriented Programming), minta tolong diulas tentang "property get statement"
> dan "property set statement".
> kelebihan menggunakan statement tersebut jika dibanding dengan menggunakan
> statement tersebut?
>
> maturnuwun
> -zainul-
>
>
> From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
> On Behalf Of Mr. Kid
> Sent: Wednesday, October 02, 2013 8:55 AM
> To: BeExcel
> Subject: Re: [belajar-excel] Macro Openoffice
>
> wakakaka...
> iya, perlu dicoba dulu.
> Kalau di star office waktu doeloe sih bisa. Cuman kadang gak bisa pas udah
> berurusan sama userform.
> Jadi bikin VBAnya jangan yang rumit ya. Mungkin VBASupport nya akan
> mengubah si VBA jadi VBScript kali ya...
> Saya gak mudeng dalemannya. Dokumentasinya dikit.
>
> Kalau struktur objectnya, si OO memang lebih bagus dari VBA karena full
> OOP. Mungkin nanti kalau dah mulai banyak dokumentasi object model nya akan
> jadi lebih enak.
>
> Wassalam,
> Kid.
>
>
>

Wed Oct 2, 2013 8:39 am (PDT) . Posted by:

"De Premor" de.premor

Ikutan urun rembug :D

Sub Masukin()
Dim SrcData As Range, Rng As Range
Dim cKode As New Collection
Dim LRow As Long

Application.ScreenUpdating = False
Set SrcData = Sheet1.Range("D3", Sheet1.Range("D3").End(xlDown))

On Error Resume Next
For Each Rng In SrcData
cKode.Add Trim(Rng), CStr(Rng)
Next

For LRow = 1 To cKode.Count
Set Rng = SrcData.CurrentRegion.Offset(1,
1).Resize(SrcData.Rows.Count - 1, 2)
SrcData.CurrentRegion.AutoFilter Field:=4,
Criteria1:=cKode.Item(LRow)
Rng.SpecialCells(xlCellTypeVisible).Copy
Sheets(cKode.Item(LRow)).Range("B3")
SrcData.CurrentRegion.AutoFilter
Next
Application.ScreenUpdating = True
End Sub

On 02-10-2013 17:27, hendrik karnadi wrote:
> Jawaban terlampir menggunakan macro warisan si Mbah dengan modifikasi
> sana sini.
> Angka2 (kelompok) 1,2,3,4,5 yang ada pada data maupun nama sheet
> terpaksa saya ganti menjadi jenis biaya yang ada pada Range("A1")
> masing2 sheet.
>
> Hal tersebut saya lakukan karena fungsi Instr yang dipakai untuk
> membuat Array Unique Values membutuhkan data string bukan angka
>
> Macronya adalah spt ini:
> Sub splittable()
> ' siti Vi (updated by Hendrik)
> ' declarations of variables
> Dim RefTbl As Range
> Dim sNames As String, ArrNames
> Dim r As Long, n As Long, i As Long
> ' turn off dialoque
> ' freezing the screen
> Application.DisplayAlerts = False
> Application.ScreenUpdating = False
> ' setting data reference
> Set RefTbl = Sheets("Sheet1").Range("B3", Range("B3").End(xlDown))
> Set RefTbl = RefTbl.Resize(RefTbl.Rows.Count - 1, 3)
> ' creating unique list of Names
> For r = 1 To RefTbl.Rows.Count
> If InStr(1, sNames, RefTbl(r, 3) & "|") = 0 Then
> sNames = sNames & RefTbl(r, 3) & "|"
> End If
> Next
> ArrNames = Split(sNames, "|")
> ' split the data
> For i = LBound(ArrNames) To UBound(ArrNames) - 1
> Sheets(ArrNames(i)).Select
> n = 2
> For r = 1 To RefTbl.Rows.Count
> If RefTbl(r, 3) = ArrNames(i) Then
> n = n + 1
> RefTbl(r, 1).Resize(1, 2).Copy
> Cells(n, 2).PasteSpecial xlPasteValuesAndNumberFormats
> End If
> Next r
> Application.CutCopyMode = False
> Next i
> ' turn on dialoque
> ' unfreezing the screen
> Application.DisplayAlerts = True
> Application.ScreenUpdating = True
> End Sub
>
> Pertanyaannya;
> Bagaimanakah penulisan macro untuk mendapatkan Array Unique Values
> yang berupa angka ?
>
> Terima kasih.
>
> Salam,
> HK
>
>
>
> ----------------------------------------------------------
> *From:* Topenk Baday <topenk_baday@yahoo.com>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Wednesday, 2 October 2013, 10:10
> *Subject:* [belajar-excel] Langsung masuk ke sheet yang diinginkan [1
> Attachment]
>
> Dimohon bantuannya,
> Kami lampirkan contoh permasalahan,
> Mohon "rumus excel atau makro"-nya supaya data yang diinginkan dapat
> masuk langsung sesuai dengan kode yang diinginkan.
> Terima kasih sebelumnya.
>
>
>
>
>
>
>

Wed Oct 2, 2013 9:45 am (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Terima kasih Pak De atas codesnya yang begitu singkat dan jelas. 

Ada 2 kombinasi yang "sangat indah":
- On Error Resume Next ..... dan
- cKode.Add Trim(Rng), CStr(Rng)

Ada yang ingin saya tanyakan mengenai Dim cKode As New Collection.

Apakah New Collection merupakan Array untuk numbers ?

Salam,
HK

________________________________
From: De Premor <de@premor.net>
To: belajar-excel@yahoogroups.com
Sent: Wednesday, 2 October 2013, 22:37
Subject: Re: [belajar-excel] Langsung masuk ke sheet yang diinginkan


 
Ikutan urun rembug :D

Sub Masukin()
    Dim SrcData As Range, Rng As Range
    Dim cKode As New Collection
    Dim LRow As Long

    Application.ScreenUpdating = False
    Set SrcData = Sheet1.Range("D3", Sheet1.Range("D3").End(xlDown))
   
    On Error Resume Next
    For Each Rng In SrcData
        cKode.Add Trim(Rng), CStr(Rng)
    Next
   
    For LRow = 1 To cKode.Count
        Set Rng = SrcData.CurrentRegion.Offset(1, 1).Resize(SrcData.Rows.Count - 1, 2)
        SrcData.CurrentRegion.AutoFilter Field:=4, Criteria1:=cKode.Item(LRow)
        Rng.SpecialCells(xlCellTypeVisible).Copy Sheets(cKode.Item(LRow)).Range("B3")
        SrcData.CurrentRegion.AutoFilter
    Next
    Application.ScreenUpdating = True
End Sub

On 02-10-2013 17:27, hendrik karnadi wrote:

 
>Jawaban terlampir menggunakan macro warisan si Mbah dengan modifikasi sana sini.
>Angka2 (kelompok) 1,2,3,4,5 yang ada pada data maupun nama sheet terpaksa saya ganti menjadi jenis biaya yang ada pada Range("A1") masing2 sheet.
>
>
>Hal tersebut saya lakukan karena fungsi Instr yang dipakai untuk membuat Array Unique Values membutuhkan data string bukan angka
>
>
>Macronya adalah spt ini:
>Sub splittable()
>    ' siti Vi (updated by Hendrik)
>    ' declarations of variables
>    Dim RefTbl As Range
>    Dim sNames As String, ArrNames
>    Dim r As Long, n As Long, i As Long
>    
>    ' turn off dialoque
>    ' freezing the screen
>    Application.DisplayAlerts = False
>    Application.ScreenUpdating = False
>    
>    ' setting data reference
>    Set RefTbl = Sheets("Sheet1").Range("B3", Range("B3").End(xlDown))
>    Set RefTbl = RefTbl.Resize(RefTbl.Rows.Count - 1, 3)
>    
>   ' creating unique list of Names
>    For r = 1 To RefTbl.Rows.Count
>       If InStr(1, sNames, RefTbl(r, 3) & "|") = 0 Then
>          sNames = sNames & RefTbl(r, 3) & "|"
>       End If
>    Next
>    ArrNames = Split(sNames, "|")
>         
>    ' split the data
>    For i = LBound(ArrNames) To UBound(ArrNames) - 1
>       Sheets(ArrNames(i)).Select
>       n = 2
>       For r = 1 To RefTbl.Rows.Count
>          If RefTbl(r, 3) = ArrNames(i) Then
>             n = n + 1
>             RefTbl(r, 1).Resize(1, 2).Copy
>             Cells(n, 2).PasteSpecial xlPasteValuesAndNumberFormats
>          End If
>       Next r
>       Application.CutCopyMode = False
>    Next i
>    
>    ' turn on dialoque
>    ' unfreezing the screen
>    Application.DisplayAlerts = True
>    Application.ScreenUpdating = True
>End Sub
>
>
>Pertanyaannya;
>Bagaimanakah penulisan macro untuk mendapatkan Array Unique Values yang berupa angka ?
>
>
>Terima kasih.
>
>
>Salam,
>HK
>
>
>
>
>
>
>
>________________________________
> From: Topenk Baday <topenk_baday@yahoo.com>
>To: belajar-excel@yahoogroups.com
>Sent: Wednesday, 2 October 2013, 10:10
>Subject: [belajar-excel] Langsung masuk ke sheet yang diinginkan [1 Attachment]
>
>
>

>Dimohon bantuannya,
>
>Kami lampirkan contoh permasalahan, 
>Mohon "rumus excel atau makro"-nya supaya data yang diinginkan dapat masuk langsung sesuai dengan kode yang diinginkan.
>Terima kasih sebelumnya.
>
>
>
>
>
>
>
>

Wed Oct 2, 2013 9:59 am (PDT) . Posted by:

"De Premor" de.premor

Bukan Pak HK, new collection itu ya buat nyimpen2 koleksi ajah, nah
enaknya si koleksi ini, dia tidak mau diisi nilai key yang sama, kalau
sudah ada dia akan error, makanya diatasnya diberi bumbu On Error Resume
Next

Disitu saya langsung declare menggunakan tag "New" biar nga usah repot2
nanti dibawahnya ngeset lagi menjadi New Collection, karena toh
keperluannya cuman sekali itu doank penggunaannya.

On 02-10-2013 23:45, hendrik karnadi wrote:
> Terima kasih Pak De atas codesnya yang begitu singkat dan jelas.
>
> Ada 2 kombinasi yang "sangat indah":
> - On Error Resume Next ..... dan
> - cKode.Add Trim(Rng), CStr(Rng)
>
> Ada yang ingin saya tanyakan mengenai Dim cKode As New Collection.
> Apakah New Collection merupakan Array untuk numbers ?
>
> Salam,
> HK
>
>
> ----------------------------------------------------------
> *From:* De Premor <de@premor.net>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Wednesday, 2 October 2013, 22:37
> *Subject:* Re: [belajar-excel] Langsung masuk ke sheet yang diinginkan
>
> Ikutan urun rembug :D
>
> Sub Masukin()
> Dim SrcData As Range, Rng As Range
> Dim cKode As New Collection
> Dim LRow As Long
>
> Application.ScreenUpdating = False
> Set SrcData = Sheet1.Range("D3", Sheet1.Range("D3").End(xlDown))
>
> On Error Resume Next
> For Each Rng In SrcData
> cKode.Add Trim(Rng), CStr(Rng)
> Next
>
> For LRow = 1 To cKode.Count
> Set Rng = SrcData.CurrentRegion.Offset(1,
> 1).Resize(SrcData.Rows.Count - 1, 2)
> SrcData.CurrentRegion.AutoFilter Field:=4, Criteria1:=cKode.Item(LRow)
> Rng.SpecialCells(xlCellTypeVisible).Copy
> Sheets(cKode.Item(LRow)).Range("B3")
> SrcData.CurrentRegion.AutoFilter
> Next
> Application.ScreenUpdating = True
> End Sub
>
> On 02-10-2013 17:27, hendrik karnadi wrote:
>> Jawaban terlampir menggunakan macro warisan si Mbah dengan modifikasi
>> sana sini.
>> Angka2 (kelompok) 1,2,3,4,5 yang ada pada data maupun nama sheet
>> terpaksa saya ganti menjadi jenis biaya yang ada pada Range("A1")
>> masing2 sheet.
>>
>> Hal tersebut saya lakukan karena fungsi Instr yang dipakai untuk
>> membuat Array Unique Values membutuhkan data string bukan angka
>>
>> Macronya adalah spt ini:
>> Sub splittable()
>> ' siti Vi (updated by Hendrik)
>> ' declarations of variables
>> Dim RefTbl As Range
>> Dim sNames As String, ArrNames
>> Dim r As Long, n As Long, i As Long
>> ' turn off dialoque
>> ' freezing the screen
>> Application.DisplayAlerts = False
>> Application.ScreenUpdating = False
>> ' setting data reference
>> Set RefTbl = Sheets("Sheet1").Range("B3", Range("B3").End(xlDown))
>> Set RefTbl = RefTbl.Resize(RefTbl.Rows.Count - 1, 3)
>> ' creating unique list of Names
>> For r = 1 To RefTbl.Rows.Count
>> If InStr(1, sNames, RefTbl(r, 3) & "|") = 0 Then
>> sNames = sNames & RefTbl(r, 3) & "|"
>> End If
>> Next
>> ArrNames = Split(sNames, "|")
>> ' split the data
>> For i = LBound(ArrNames) To UBound(ArrNames) - 1
>> Sheets(ArrNames(i)).Select
>> n = 2
>> For r = 1 To RefTbl.Rows.Count
>> If RefTbl(r, 3) = ArrNames(i) Then
>> n = n + 1
>> RefTbl(r, 1).Resize(1, 2).Copy
>> Cells(n, 2).PasteSpecial xlPasteValuesAndNumberFormats
>> End If
>> Next r
>> Application.CutCopyMode = False
>> Next i
>> ' turn on dialoque
>> ' unfreezing the screen
>> Application.DisplayAlerts = True
>> Application.ScreenUpdating = True
>> End Sub
>>
>> Pertanyaannya;
>> Bagaimanakah penulisan macro untuk mendapatkan Array Unique Values
>> yang berupa angka ?
>>
>> Terima kasih.
>>
>> Salam,
>> HK
>>
>>
>>
>> ----------------------------------------------------------
>> *From:* Topenk Baday <topenk_baday@yahoo.com>
>> <mailto:topenk_baday@yahoo.com>
>> *To:* belajar-excel@yahoogroups.com
>> <mailto:belajar-excel@yahoogroups.com>
>> *Sent:* Wednesday, 2 October 2013, 10:10
>> *Subject:* [belajar-excel] Langsung masuk ke sheet yang diinginkan [1
>> Attachment]
>>
>> Dimohon bantuannya,
>> Kami lampirkan contoh permasalahan,
>> Mohon "rumus excel atau makro"-nya supaya data yang diinginkan dapat
>> masuk langsung sesuai dengan kode yang diinginkan.
>> Terima kasih sebelumnya.
>>
>>
>>
>>
>>
>>
>
>
>
>

Wed Oct 2, 2013 10:22 am (PDT) . Posted by:

"Hendrik Karnadi" hendrikkarnadi

Terima kasih pak De.

Salam,
HK

Sent from Samsung MobileDe Premor <de@premor.net> wrote:Bukan Pak HK, new collection itu ya buat nyimpen2 koleksi ajah, nah enaknya si koleksi ini, dia tidak mau diisi nilai key yang sama, kalau sudah ada dia akan error, makanya diatasnya diberi bumbu On Error Resume Next

Disitu saya langsung declare menggunakan tag "New" biar nga usah repot2 nanti dibawahnya ngeset lagi menjadi New Collection, karena toh keperluannya cuman sekali itu doank penggunaannya.

On 02-10-2013 23:45, hendrik karnadi wrote:
 
Terima kasih Pak De atas codesnya yang begitu singkat dan jelas. 

Ada 2 kombinasi yang "sangat indah":
- On Error Resume Next ..... dan
- cKode.Add Trim(Rng), CStr(Rng)

Ada yang ingin saya tanyakan mengenai Dim cKode As New Collection.
Apakah New Collection merupakan Array untuk numbers ?

Salam,
HK

From: De Premor <de@premor.net>
To: belajar-excel@yahoogroups.com
Sent: Wednesday, 2 October 2013, 22:37
Subject: Re: [belajar-excel] Langsung masuk ke sheet yang diinginkan

 
Ikutan urun rembug :D

Sub Masukin()
    Dim SrcData As Range, Rng As Range
    Dim cKode As New Collection
    Dim LRow As Long

    Application.ScreenUpdating = False
    Set SrcData = Sheet1.Range("D3", Sheet1.Range("D3").End(xlDown))
   
    On Error Resume Next
    For Each Rng In SrcData
        cKode.Add Trim(Rng), CStr(Rng)
    Next
   
    For LRow = 1 To cKode.Count
        Set Rng = SrcData.CurrentRegion.Offset(1, 1).Resize(SrcData.Rows.Count - 1, 2)
        SrcData.CurrentRegion.AutoFilter Field:=4, Criteria1:=cKode.Item(LRow)
        Rng.SpecialCells(xlCellTypeVisible).Copy Sheets(cKode.Item(LRow)).Range("B3")
        SrcData.CurrentRegion.AutoFilter
    Next
    Application.ScreenUpdating = True
End Sub

On 02-10-2013 17:27, hendrik karnadi wrote:
 
Jawaban terlampir menggunakan macro warisan si Mbah dengan modifikasi sana sini.
Angka2 (kelompok) 1,2,3,4,5 yang ada pada data maupun nama sheet terpaksa saya ganti menjadi jenis biaya yang ada pada Range("A1") masing2 sheet.

Hal tersebut saya lakukan karena fungsi Instr yang dipakai untuk membuat Array Unique Values membutuhkan data string bukan angka

Macronya adalah spt ini:
Sub splittable()
    ' siti Vi (updated by Hendrik)
    ' declarations of variables
    Dim RefTbl As Range
    Dim sNames As String, ArrNames
    Dim r As Long, n As Long, i As Long
    
    ' turn off dialoque
    ' freezing the screen
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    ' setting data reference
    Set RefTbl = Sheets("Sheet1").Range("B3", Range("B3").End(xlDown))
    Set RefTbl = RefTbl.Resize(RefTbl.Rows.Count - 1, 3)
    
    ' creating unique list of Names
    For r = 1 To RefTbl.Rows.Count
       If InStr(1, sNames, RefTbl(r, 3) & "|") = 0 Then
          sNames = sNames & RefTbl(r, 3) & "|"
       End If
    Next
    ArrNames = Split(sNames, "|")
         
    ' split the data
    For i = LBound(ArrNames) To UBound(ArrNames) - 1
       Sheets(ArrNames(i)).Select
       n = 2
       For r = 1 To RefTbl.Rows.Count
          If RefTbl(r, 3) = ArrNames(i) Then
             n = n + 1
             RefTbl(r, 1).Resize(1, 2).Copy
             Cells(n, 2).PasteSpecial xlPasteValuesAndNumberFormats
          End If
       Next r
       Application.CutCopyMode = False
    Next i
    
    ' turn on dialoque
    ' unfreezing the screen
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Pertanyaannya;
Bagaimanakah penulisan macro untuk mendapatkan Array Unique Values yang berupa angka ?

Terima kasih.

Salam,
HK

From: Topenk Baday <topenk_baday@yahoo.com>
To: belajar-excel@yahoogroups.com
Sent: Wednesday, 2 October 2013, 10:10
Subject: [belajar-excel] Langsung masuk ke sheet yang diinginkan [1 Attachment]

 
Dimohon bantuannya,
Kami lampirkan contoh permasalahan, 
Mohon "rumus excel atau makro"-nya supaya data yang diinginkan dapat masuk langsung sesuai dengan kode yang diinginkan.
Terima kasih sebelumnya.

Wed Oct 2, 2013 10:14 am (PDT) . Posted by:

"Iga Aprilia" iga.april

thanks ya infonya

________________________________
From: hendrik karnadi <hendrikkarnadi@yahoo.com>
To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Sent: Wednesday, October 2, 2013 4:27 PM
Subject: Re: [belajar-excel] cara membuar coding pada combobox dan text box [1 Attachment]


 
Coba pelajari warisan si Mbah terlampir.

Salam,
HK

________________________________
From: Iga Aprilia <iga.april@yahoo.com>
To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Sent: Wednesday, 2 October 2013, 16:05
Subject: [belajar-excel] cara membuar coding pada combobox dan text box [1 Attachment]


 
dear all

saya coba membuat sebuah user form dengan menambahkan combo box dan textbox apabila saya meng-klik combo box
maka secara otomatis pada text box  glass-name muncul nama yang ada pada database glass name.
yang ingin saya tanyakan bagaimana coding dari program tersebut tanpa menggunakan command button??

terima kasih
iga

Wed Oct 2, 2013 10:15 am (PDT) . Posted by:

"Iga Aprilia" iga.april

thanks ya ud dibuatin contoh codingnya Miss Jan Raisin

________________________________
From: Jan Raisin <miss.jan.raisin@gmail.com>
To: belajar-excel@yahoogroups.com
Sent: Wednesday, October 2, 2013 4:30 PM
Subject: Re: [belajar-excel] cara membuar coding pada combobox dan text box [1 Attachment]


 
Hai Iga,

coba script berikut ini:

Private Sub cboGlass_Change()
Dim idx As Integer

idx = cboGlass.ListIndex
txtGlass = Cells(idx + 2, 2).Value
End Sub

Private Sub UserForm_Activate()
Dim rgData As Range, celData As Range
Dim lRow As Long
Dim idx As Integer

lRow = Cells(Rows.Count, 1).End(xlUp).Row
Set rgData = Range(Cells(2, 1), Cells(lRow, 1))
For Each celData In rgData
    cboGlass.AddItem celData.Value, idx
    idx = idx + 1
Next celData
End Sub

file terlampir

Salam,

-Miss Jan Raisin-

Pada 2 Oktober 2013 16.05, Iga Aprilia <iga.april@yahoo.com> menulis:


>dear all
>
>
>saya coba membuat sebuah user form dengan menambahkan combo box dan textbox apabila saya meng-klik combo box
>maka secara otomatis pada text box  glass-name muncul nama yang ada pada database glass name.
>yang ingin saya tanyakan bagaimana coding dari program tersebut tanpa menggunakan command button??
>
>
>terima kasih

>iga
>_

Wed Oct 2, 2013 10:20 am (PDT) . Posted by:

"Alen Hafit" alen_hafit

maaf Mr. Kid baru buka e-mail saya,
jadi maksud saya,
misal kita ambil karyawan Alen
hadir dy sesuai dengan jam hadir adalah 21 ditambahkan dengan komentar selain
jam (ke karawang dll) pada kolom D (pulang)
jumlahnya adalah 23 (jadi ditambahkan 2), karena ketika dia tidak kekantor atau
dinas keluar, tidak bisa melakukan absensi, jadi di berikan komen kemana ia
pergi (tetapi di hitung masuk bekerja)
agak rumit memang, atau Mr. Kid memiliki cara yang lebih praktis ????

terimakasih banyak Mr. Kid

________________________________
From: Mr. Kid <mr.nmkid@gmail.com>
To: BeExcel <belajar-excel@yahoogroups.com>
Sent: Monday, September 30, 2013 9:29 AM
Subject: Re: [belajar-excel] countif dengan kriteria bukan time


 
Hai Alen,

Apakah maskudnya kolom D akan masuk dihitung bijiannya (cacah atau count) jika ada nilai jamnya dan di kolom E nya ada komentarnya ?

Atau hasil hitung manualnya berapa sih ? (supaya tebak-tebakannya bisa lebih pas)

Wassalam,
Kid.

2013/9/30 Alen Hafit <alen_hafit@yahoo.com>


>Hallo Mr Kid
>
>
>terimakasih atas pencerahannya,
>teteapi setelah saya coba jumlahnya dengan format time pada kolom E.nya
>yang saya maksud, kolom D di jumlah kan dengan kolom E yang bukan format waktu, tapi text (berisikan komentar-komentar)
>
>
>terimakasih Mr. Kid
>
>
>
>
>________________________________
> From: Mr. Kid <mr.nmkid@gmail.com>
>To: BeExcel <belajar-excel@yahoogroups.com>
>Sent: Sunday, September 29, 2013 11:55 PM
>Subject: Re: [belajar-excel] countif dengan kriteria bukan time
>
>
>

>Hai Alen,
>
>Coba :
>=Count( d5:d30 ) + CountIF( e5:e30 , "*" )
>
>Jika regional setting komputer setempat adalah Indonesian, maka ganti seluruh karakter koma dalam formula menjadi karakter titik koma.
>
>Wassalam,
>Kid.
>
>
>
>
>
>
>
>
>2013/9/29 <alen_hafit@yahoo.com>
>
>
>> 
>>Dear master,
>>
>>mohon bantuannya untuk rumus countif dengan kriteria bukan time, lebih baik saya memakai countif atau counta
>>mohon bantuannya sekali
>>berikut saya lampirkan contoh kasus
>>
>>terimakasih atas bantuannya sebelumnya, dan mohon di terima topic saya (karena sudah beberapa kali topik saya tidak di accept)
>
>

>

Wed Oct 2, 2013 10:24 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

lha iya, formulanya :
=Count( d5:d30 ) + CountIF( e5:e30 , "*" )

Jika regional setting komputer setempat adalah Indonesian, maka ganti
seluruh karakter koma dalam formula menjadi karakter titik koma.

Kalau kelihatan hasilnya gak 23, atur formatnya menjadi General.

Nih workbooknya terlampir.

Wassalam,
Kid.

2013/10/3 Alen Hafit <alen_hafit@yahoo.com>

> **
>
>
> maaf Mr. Kid baru buka e-mail saya,
> jadi maksud saya,
> misal kita ambil karyawan Alen
> hadir dy sesuai dengan jam hadir adalah 21 ditambahkan dengan komentar
> selain jam (ke karawang dll) pada kolom D (pulang)
> jumlahnya adalah 23 (jadi ditambahkan 2), karena ketika dia tidak kekantor
> atau dinas keluar, tidak bisa melakukan absensi, jadi di berikan komen
> kemana ia pergi (tetapi di hitung masuk bekerja)
> agak rumit memang, atau Mr. Kid memiliki cara yang lebih praktis ????
>
> terimakasih banyak Mr. Kid
>
> ------------------------------
> *From:* Mr. Kid <mr.nmkid@gmail.com>
> *To:* BeExcel <belajar-excel@yahoogroups.com>
> *Sent:* Monday, September 30, 2013 9:29 AM
>
> *Subject:* Re: [belajar-excel] countif dengan kriteria bukan time
>
>
> Hai Alen,
>
> Apakah maskudnya kolom D akan masuk dihitung bijiannya (cacah atau count)
> jika ada nilai jamnya dan di kolom E nya ada komentarnya ?
> Atau hasil hitung manualnya berapa sih ? (supaya tebak-tebakannya bisa
> lebih pas)
>
> Wassalam,
> Kid.
>
>
>
> 2013/9/30 Alen Hafit <alen_hafit@yahoo.com>
>
> **
>
> Hallo Mr Kid
>
> terimakasih atas pencerahannya,
> teteapi setelah saya coba jumlahnya dengan format time pada kolom E.nya
> yang saya maksud, kolom D di jumlah kan dengan kolom E yang bukan format
> waktu, tapi text (berisikan komentar-komentar)
>
> terimakasih Mr. Kid
>
> ------------------------------
> *From:* Mr. Kid <mr.nmkid@gmail.com>
> *To:* BeExcel <belajar-excel@yahoogroups.com>
> *Sent:* Sunday, September 29, 2013 11:55 PM
> *Subject:* Re: [belajar-excel] countif dengan kriteria bukan time
>
>
> Hai Alen,
>
> Coba :
> =Count( d5:d30 ) + CountIF( e5:e30 , "*" )
>
> Jika regional setting komputer setempat adalah Indonesian, maka ganti
> seluruh karakter koma dalam formula menjadi karakter titik koma.
>
> Wassalam,
> Kid.
>
>
>
>
>
> 2013/9/29 <alen_hafit@yahoo.com>
>
> **
>
> Dear master,
>
> mohon bantuannya untuk rumus countif dengan kriteria bukan time, lebih
> baik saya memakai countif atau counta
> mohon bantuannya sekali
> berikut saya lampirkan contoh kasus
>
> terimakasih atas bantuannya sebelumnya, dan mohon di terima topic saya
> (karena sudah beberapa kali topik saya tidak di accept)
>
>
>
>
>
>
>
>
>

Wed Oct 2, 2013 10:21 am (PDT) . Posted by:

"Alen Hafit" alen_hafit

wow Mr Jan, terimakasih sekali atas bantuannya
sangat membantu.
terimakasih

________________________________
From: Jan Raisin <miss.jan.raisin@gmail.com>
To: belajar-excel@yahoogroups.com
Sent: Monday, September 30, 2013 8:48 AM
Subject: Re: [belajar-excel] countif dengan kriteria bukan time [1 Attachment]


 
hai Alen,

coba array Formula berikut ini:

=COUNT(D5:D30)+SUM(IF(ISTEXT(E5:E30);1))

diakhiri dengan menekan 3 tombol ini sekaligus: CTRL Shift Enter sehingga terbentuk tanda kurung kurawal di awal dan akhir furmula
jika regional setting adalah English, ganti tanda titik koma yang berwarna merah menjadi tanda koma

file solusi terlampir

Salam,

-Miss Jan Raisin-

Pada 30 September 2013 05.44, Alen Hafit <alen_hafit@yahoo.com> menulis:


>Hallo Mr Kid
>
>
>terimakasih atas pencerahannya,
>teteapi setelah saya coba jumlahnya dengan format time pada kolom E.nya
>yang saya maksud, kolom D di jumlah kan dengan kolom E yang bukan format waktu, tapi text (berisikan komentar-komentar)
>
>
>terimakasih Mr. Kid
>
>
>
>
>________________________________
> From: Mr. Kid <mr.nmkid@gmail.com>
>To: BeExcel <belajar-excel@yahoogroups.com>
>Sent: Sunday, September 29, 2013 11:55 PM
>Subject: Re: [belajar-excel] countif dengan kriteria bukan time
>
>
>

>Hai Alen,
>
>Coba :
>=Count( d5:d30 ) + CountIF( e5:e30 , "*" )
>
>Jika regional setting komputer setempat adalah Indonesian, maka ganti seluruh karakter koma dalam formula menjadi karakter titik koma.
>
>Wassalam,
>Kid.
>
>
>
>
>
>
>
>
>2013/9/29 <alen_hafit@yahoo.com>
>
>
>> 
>>Dear master,
>>
>>mohon bantuannya untuk rumus countif dengan kriteria bukan time, lebih baik saya memakai countif atau counta
>>mohon bantuannya sekali
>>berikut saya lampirkan contoh kasus
>>
>>terimakasih atas bantuannya sebelumnya, dan mohon di terima topic saya (karena sudah beberapa kali topik saya tidak di accept)
>
>
>
>__

Wed Oct 2, 2013 10:41 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Tambahin dikit ya miss Jan,

*Untuk pakai pivot table...*
1. kalau *ndak mau *pakai kolom Cek, lakukan fileter pada field bernama
Data. Caranya :
:: klik kanan salah satu nilai dari field Data dalam pivot table ->
pilih Filter -> pilih Label Filter -> pilih is greater than -> isi 0 -> OK
2. kalau nilai data bisa berulang dan ditampilkan seluruhnya (bukan unique
values si data), letakkan field bernama No dikiri field bernama data (kalau
di field list bagian Row, letakkan field No diatas field Data). Lalu ubah
layout pivot table menjadi tabular (menu PivotTable Tools -> ribbon Design
-> grup Layout -> klik Report Layout -> pilih Show in tabular)

*Untuk Autofilter...*
setelah melakukan filter agar si 0 gak tampak seperti petunjuk miss Jan,
lakukan Copy ke lokasi lain dengan cara :
blok kolom Data yang terfilter dari header sampai paling bawah (bila perlu
ditambah 1 cell dibawahnya)
-> Copy (tekan CTRL C)
-> Paste ke cell hasil (klik cell hasil dan tekan CTRL V)
-> Non aktifkan autofilter (ribbon Data -> grup Sort & Filter -> klik
Filter)

cara ini ada syaratnya, yaitu :
Sebelum Paste, pastikan setelah Copy, pada kolom data yang nomor baris
Excel nya gak urut (akibat terfilter) ada semut jalan horisontal.
Kalau ndak ada, sebelum Paste saat tepat habis copy dan cek, lakukan
pemilihan khusus hasil filter (yang tampak saja). Jadi urutan proses diatas
akan menjadi :
blok kolom Data yang terfilter dari header sampai paling bawah (bila perlu
ditambah 1 cell dibawahnya)
-> Aktifkan fitur Goto (tekan CTRL G)
-> menuju dialog Special (tekan Special)
-> pilih opsi Visible Cells Only
-> OK
-> Copy (tekan CTRL C)
-> Paste ke cell hasil (klik cell hasil dan tekan CTRL V)
-> Non aktifkan autofilter (ribbon Data -> grup Sort & Filter -> klik
Filter)

Kalau hasilnya ndak harus unique values, manfaatkan fitur Remove Duplicate.
Caranya :
blok range hasil -> ribbon Data -> grup Data Tools -> klik Remove Duplicate
-> centang My table has header -> klik UnSelect All -> centang kolom-kolom
syarat yang harus unique -> OK

*Cara lain 1 :* *Advanced Filter * (kalau mau diotomasi, coba pakai Record
Macro)
(lakukan 1 kali saja)
1. copy header dari kolom bernama Data ke cell kosong (misal ke Z1)
2. copy header dari kolom bernama Data ke cell header hasil (misal ke M1)
-> kalau hasilnya ada beberapa kolom, copy juga kesini headernya

(ubah nilainya kalau mau ganti syaratnya)
3. tulis syaratnya di Z2 teks berbunyi >0 (yang percis sama yak)

(lakukan setiap kali mau pakai advanced filter)
4. blok kolom M1 (semua kolom yang ada teks header kolom-kolom hasil kalau
ada lebih dari 1 kolom hasil)
5. aktifkan advanced filter dengan cara :
ribbon Data -> grup Sort & Filter -> klik Advanced Filter
6. atur kondisi advanced filter :
> Action : pilih Copy to another location
> List Range : blok seluruh tabel data (boleh di sheet lain tapi
workbook yang sama)
> Criteria Range : blok Z1 sampai Z2 (kalau ada banyak kriteria, blok
semua yang ada teks syaratnya termasuk header di kolom Z)
> Copy To : blok lagi kolom M1 atau seluruh kolom yang ada header
kolom hasilnya (kalau belum muncul dengan sendirinya)
[ini kondisi khusus ketika hasilnya harus unique record dari seluruh
kolom hasil (bukan unique dari kolom tertentu saja)]
> centang Unique Record Only (abaikan atau jangan dicentang kalau
bukan untuk kondisi merah
7. tekan OK

*Cara lain 2 : fitur-fitur Excel yang sering diabaikan atau enggan
dipelajari dan digunakan* (termasuk dalam VBA sekalipun)
*** jadi bukan masalah bisa menyelesaikan kasus ini dengan cara ini yak,
tapi sekedar mengingatkan saja bahwa Excel punya banyak fitur ***

*Option ModeRibet 1
*
:D:D:D:D:D

ikuti langkahnya yak...
1. blok header dan seluruh baris dari kolom yang akan dijadikan hasil.
(kalau cuma kolom Data saja, maka blok kolom Data saja)
2. copy (tekan CTRL C)
3. ke lokasi hasil (klik cell pertama header di tabel hasil)

(ini fitur Paste Special Values and Format)
4. lakukan paste special values beserta format dengan cara :
klik kanan cell pilihan nomor 3 tadi -> pilih Paste Special -> pilih
Values and Number Formats -> OK

(ini fitur Replace)
5. hapus semua angka 0 (yang isinya percis) dari kolom syarat. Caranya :
> di tabel hasil, blok kolom yang jadi syarat harus dihilangkan (misal
kolom Data jadi syarat dan ada di kolom M, maka blok kolom M)
> aktifkan fitur Replace (tekan CTRL H)
> bagian Find What : isi dengan nilai yang harus hilang (kasus ini
berarti diisi angka 0)
> tampilkan Option (tekan tombol Option kalau tulisannya masih *Option
>>*)
> centang opsi Match Entire Cell Contents
> tekan Replace ALL lalu tutup (tekan tombol close (x) dipojok kanan
atas dialog Replace)
* *** yang angka 0 dah jadi blank*

*(nomor 6 sampai 9 khusus untuk asumsi : hanya ada 1 kolom di tabel hasil)*
(ini fitur Goto Special)
6. pilih yang ada values nya (isinya nilai constant)
> aktifkan fitur Goto (CTRL G)
> ke opsi special (tekan Special)
> pilih Constant
> pastikan semua item tercentang (Number, Text, Logical, Errors)
> OK

(bisa jadi bakal pakai fitur Sort pada kondisi AutoFilter harus ON)
7. Cut dengan menekan CTRL X
> kondisi : muncul pesan error,
-> berarti nomor 6 menghasilkan lebih dari 2^13 area, maka lakukan
sort descending saja dan selesai (ndak usah ke nomor 8 dst)
-> caranya :
*blog seluruh tabel hasil
*aktifkan autofilter (ribbon Data -> grup Sort & Filter ->
klik Filter berulang kali sampai muncul segitiga kecil di area yang diblok)
*lakukan sort pada kolom kunci (kasus ini di kolom Data)
secara Descending

8. Paste ke cell header
> klik cell header lalu tekan CTRL V

9. ke nomor 13

*(nomor 10 sampai 12 khusus untuk asumsi : ada banyak kolom di tabel hasil)
*
(ini fitur Goto Special)
10. pilih yang blank
> aktifkan fitur Goto (CTRL G)
> ke opsi special (tekan Special)
> pilih Blanks
> OK

11. hapus seluruh baris blank dengan cara :
> klik kanan hasil nomor 9 yang terblok
> pilih Delete
> pilih Entire Row
> OK
kondisi : muncul pesan error,
-> berarti nomor 6 menghasilkan lebih dari 2^13 area, maka lakukan
sort descending dulu
*caranya :
*blog seluruh tabel hasil
*aktifkan autofilter (ribbon Data -> grup Sort & Filter ->
klik Filter berulang kali sampai muncul segitiga kecil di area yang diblok)
*lakukan sort pada kolom kunci (kasus ini di kolom Data)
secara Descending
-> blok kolom Data (yang di-replace tadi, seluruh kolom)
-> ulangi nomor 9 dan 10
(yang nomor 9) : pilih yang blank dengan cara :
> aktifkan fitur Goto (CTRL G)
> ke opsi special (tekan Special)
> pilih Blanks
> OK
(yang nomor 10) : pilih yang blank dengan cara :
> klik kanan hasil nomor 9 yang terblok
> pilih Delete
> pilih Entire Row
> OK

12. ke nomor 13

*(finalisasi)*
13. minum obat puyeng
14. turn off mode nya
* Option ModeRibet 0*
15. bubuk sampai pagi lagi

;)

hehehe... maap ye, urunan solusinya gak praktis... wakakakakakakaka....
tapi kalo berhadapan dengan olah data hasil crosstab, bisa kerasa epeknya.
apalagi kalo pake pi bi e

Wassalam,
Kid.

2013/10/2 Jan Raisin <miss.jan.raisin@gmail.com>

> **
>
>
> hai Ferry,
>
> coba lihat file terlampir..
> ada 4 macam solusi yang ditawarkan, solusi nomor 1 adalah cara yang
> digunakan oleh pak Bagus, hanya saja di file tersebut menambahkan
> penjelasan cara menyusun formula tersebut
>
> solusi lainnya adalah menggunakan Filter, VBA, dan Pivot Table
>
> Salam,
>
> -Miss Jan Raisin-
>
>
> Pada 2 Oktober 2013 09.50, Bagus <bagus@kingjim.co.id> menulis:
>
>> **
>>
>>
>> **
>> Dear Ferry;
>>
>> Mungkin begini;
>>
>> Array formula ya..
>>
>> =IFERROR(INDEX($A$1:$A$8,SMALL(IF(A1:A8>0,ROW(1:8)),ROW(1:8)),0),"")
>> jangan lupa akhiri dengan Crtl+Shift+Enter
>>
>> Copy paste kebawah
>>
>>
>> Wassalam
>>
>> ~ Bagus ~
>>
>>
>> ----- Original Message -----
>> *From:* Ferry Ferdian <frnmgi@yahoo.com>
>> *To:* belajar-excel@yahoogroups.com
>> *Sent:* Wednesday, October 02, 2013 9:02 AM
>> *Subject:* [belajar-excel] gimana caranya memindahkan dan merubah suatu
>> kolom yang berisi data menjadi data yang kita inginin saja di kolom lain
>>
>>
>>
>> salam kenal,
>>
>> yth,
>> Pimpinan komunitas Belajar Excel
>>
>> mohon nanya gimana caranya memindahkan dan merubah suatu kolom yang
>> berisi data menjadi data yang kita inginin saja di kolom lain menggunakan
>> rumus fx, seperti contoh
>>
>> kolom A1 kolom B2 (hasil)
>> A1 0 5
>> A2 0 2
>> A3 0 35
>> A4 5
>> A5 0
>> A6 2
>> A7 35
>> A8 0
>> atau angka 0 pada kolom A1 terdapat #N/A yang tentunya hasil tersebut
>> tidak kita ingin tampilkan di kolom baru dan baris baru.
>>
>> terima kasih,
>> Ferry
>>
>> __
>>
>
>

Wed Oct 2, 2013 12:28 pm (PDT) . Posted by:

a.hafidz

Dear all master be-eXcel
salamat malam menjelang pagi

Mohon pencerahannya apakah sdh benar penulisannya /peletakan fungsi rumus ini :

Di asumsikan rumus di tulis pada cell C1

=IF(OR(AND(A1="PS",A1="PM",A1="PP"),(B1)>=1,"1",(B1)>=2,"2",(B1)>=3,"3"))

Dengan logika seperti berikut :
Jika A1 = PS atau A1 = PM atau A1 = PP dan jika B1>=1 maka hasilnya 1 dan jika B1>=2 maka hasilnya 2 dan jika B1>=3 maka hasilnya 3

Kurang lebih seperti itu logika yg di inginkan, so' mohon pencerhannya yah....

Trims.
Sent from my BlackBerry�
powered by Sinyal Kuat INDOSAT

Wed Oct 2, 2013 12:34 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

oh menyingkat IF yang panjang ya...

Coba jalan-jalan
kesini<http://excel-mr-kid.blogspot.com/2013/09/menyingkat-if-yang-puanjuaaaang-buanget.html>
.

Wassalam,
Kid.

2013/10/3 <a.hafidz@yahoo.co.id>

> Dear all master be-eXcel
> salamat malam menjelang pagi
>
> Mohon pencerahannya apakah sdh benar penulisannya /peletakan fungsi rumus
> ini :
>
> Di asumsikan rumus di tulis pada cell C1
>
> =IF(OR(AND(A1="PS",A1="PM",A1="PP"),(B1)>=1,"1",(B1)>=2,"2",(B1)>=3,"3"))
>
> Dengan logika seperti berikut :
> Jika A1 = PS atau A1 = PM atau A1 = PP dan jika B1>=1 maka hasilnya 1 dan
> jika B1>=2 maka hasilnya 2 dan jika B1>=3 maka hasilnya 3
>
> Kurang lebih seperti itu logika yg di inginkan, so' mohon pencerhannya
> yah....
>
> Trims.
> Sent from my BlackBerry®
> powered by Sinyal Kuat INDOSAT
>
> ------------------------------------
>
> =====================================================================
> Untuk memudahkan tim penyusun materi Belajar Excel yang lebih sesuai
> kebutuhan member, silakan ungkapkan permasalahan yang kerap ditemui dalam
> menggunakan Excel sehari-hari atau hal-hal yang ingin dipelajari dalam
> jangka dekat ini. Mohon diprioritaskan dari yang sering ditemui sampai yang
> ingin dipelajari.
> Isi sesuai kelompoknya (fitur-fitur, formula-formula tertentu yang masih
> membingungkan, otomasi atau pemrograman dalam Excel [Macro - VBA], hal
> lainnya yang membuat Anda kesulitan dalam mempelajari Excel).
> Boleh mengisi berulang kali untuk menambah uneg-uneg yang ingin
> diungkapkan.
> Link untuk menuangkan seluruh uneg-uneg tersebut ada di :
>
> http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3
> =====================================================================
> Langkah kecil Anda dalam mengisi database bisa menjadi langkah pertama
> yang bermanfaat besar untuk kita semua.
> =====================================================================
>
> ----------------------------------------------------------
> bergabung ke milis (subscribe), kirim mail kosong ke:
> belajar-excel-subscribe@yahoogroups.com
>
> posting ke milis, kirimkan ke:
> belajar-excel@yahoogroups.com
>
> berkunjung ke web milis
> http://tech.groups.yahoo.com/group/belajar-excel/messages
>
> melihat file archive / mendownload lampiran
> http://www.mail-archive.com/belajar-excel@yahoogroups.com/
> atau (sejak 25-Apr-2011) bisa juga di :
> http://milis-belajar-excel.1048464.n5.nabble.com/
>
> menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
>
> keluar dari membership milis (UnSubscribe):
> kirim mail kosong ke belajar-excel-unsubscribe@yahoogroups.com
> ----------------------------------------------------------Yahoo!
> Groups Links
>
>
>
>

Wed Oct 2, 2013 12:32 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

xixixixi....

file terlampir gak membahas Index Match yang error REF karena yang diminta
baris atau kolomnya gak ada dalam range yang Index loh ya,
file terlampir cuma iseng kalo pake Index ajah tanpa Match kira-kira pantes
gak ya....

Wassalam,
Kid.

2013/10/2 ivan budiman <ivanstats@yahoo.com>

> **
>
>
> Dear master2,
> Mohon dibantu, saya mengalami kendala ketika copy rumus index match
> terlampir, hasilnya ko #ref! ya?
> Terima kasih
>
> Regards,
> M I B
>
> - thankfulness -
>
>
>

Wed Oct 2, 2013 1:12 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

e...

Coba :
*=IF( Minute( total_jam_kerja ) > 40 , Ceiling( total_jam_kerja , 1/24 ) ,
total_jam_kerja )
*
Misal : total_jam_kerja di cell X12, jadi :
=IF( Minute( X12 ) > 40 , Ceiling( X12 , 1/24 ) , X12 )

Misal : total_jam_kerja dihitung dengan formula Sum( X1:X11 )
=IF( Minute( Sum( X1:X11 ) ) > 40 , Ceiling( Sum( X1:X11 ) , 1/24 ) , Sum(
X1:X11 ) )

atau gunakan :
*=Max( total_jam_kerja , Ceiling( total_jam_kerja - "0:40:0" , 1/24 ) )
*
total_jam_kerja bisa diganti seperti formula yang diatas sana tadi
teks "0:40:0" bisa diganti dengan batas untuk pembulatan keatasnya.
teks "0:40:0" bisa diekspresikan dengan cara lain seperti 1/36
menjadi :
*=Max( total_jam_kerja , Ceiling( total_jam_kerja - 1/36 , 1/24 ) )
*
Misal : total_jam_kerja di cell X12, jadi :
=Max( X12 , Ceiling( X12 - 1/36 , 1/24 ) )

Misal : total_jam_kerja dihitung dengan formula Sum( X1:X11 )
=Max( Sum( X1:X11 ) , Ceiling( Sum( X1:X11 ) - 1/36 , 1/24 ) )

Wassalam,
Kid.

2013/10/2 Melky Rawis <melky.rawis24@gmail.com>

> **
>
>
> Selamat siang para master Excel,
> Sedikit merepotkan lagi buat para master Excel,
> Kasus sebelumnya saya sudah pernah tanyakan dan sudah diselesaikan oleh
> Pak Bagus,dimana perhitungan jam kerja dibulatkan setiap harinya, kali ini
> saya mohon pencerahannya lagi untuk perhitungan jam kerja, dimana jam kerja
> perhari dihitung secara real, jam dan menit di tampilkan, dalam 1 periode
> (1 minggu) jumlah jam di totalkan, apa bila jumlah menit lebih dari 40 maka
> akan dibulatkan ke atas.
>
> Untuk lebih detilnya file saya lampirkan.
>
> Best Regards,****
>
> ** **
>
> *Melky Rawis*
>
>
>
>
>
>
GROUP FOOTER MESSAGE
=====================================================================
Untuk memudahkan tim penyusun materi Belajar Excel yang lebih sesuai kebutuhan member, silakan ungkapkan permasalahan yang kerap ditemui dalam menggunakan Excel sehari-hari atau hal-hal yang ingin dipelajari dalam jangka dekat ini. Mohon diprioritaskan dari yang sering ditemui sampai yang ingin dipelajari.
Isi sesuai kelompoknya (fitur-fitur, formula-formula tertentu yang masih membingungkan, otomasi atau pemrograman dalam Excel [Macro - VBA], hal lainnya yang membuat Anda kesulitan dalam mempelajari Excel).
Boleh mengisi berulang kali untuk menambah uneg-uneg yang ingin diungkapkan.
Link untuk menuangkan seluruh uneg-uneg tersebut ada di :
http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3
=====================================================================
Langkah kecil Anda dalam mengisi database bisa menjadi langkah pertama yang bermanfaat besar untuk kita semua.
=====================================================================

---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

posting ke milis, kirimkan ke:
belajar-excel@yahoogroups.com

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar