Bu bölümde Excel’in Giriş Kutusu yöntemini inceleyeceğiz.

Excel’in Giriş Kutusu Yöntemini kullanmanın faydaları:

  • Giriş için veri tipini belirtebilirsiniz (dize(string) ile sınırlı değildir)
  • Excel otomatik olarak bir doğrulama gerçekleştirir
  • Aralıkları seçebilirsiniz.
KodAçıklama
0Formül
1Sayı
2Yazı (String)
4Boolean
8Aralık (Range)
16Hata değeri (Error value)
64Değerler dizisi (Array of values)
1+2 = 3Sayı + Yazı (string)

Örnek:

Sub Excel_InputBox()

Dim MusteriAdi As String
Dim SonrakiSatir As Long
Dim Tutar As Long

MusteriAdi = VBA.InputBox("Lütfen Müşteri Adı girin", "Müşteri Girişi")
SonrakiSatir = Cells(Rows.Count, 1).End(xlUp).Row + 1
'sayfaya uygun formatta geri yazma
Range("A" & SonrakiSatir).Value = Excel.WorksheetFunction.Proper(MusteriAdi)
'Burada Type:=1 kullandığımız için kullanıcı sadece sayı girebilir
Tutar = Excel.Application.InputBox(Prompt:="Lütfen tutarı girin", Title:="Tutar", Type:=1)
Cells(SonrakiSatir, 2).Value = Tutar

End SubCode language: VB.NET (vbnet)
InputBox (Excel)
InputBox (Excel)

Örnek:

Sub Excel_InputBox_Range()

Dim myRange As Range
Dim cellBlank As Long, cellNum As Long, cellOther As Long

'kullanıcının iptali tıklaması durumunda
On Error GoTo HATA

'8 ile kullanıcı sadece aralık seçebilir
Set myRange = Application.InputBox("Hücreleri Say", "Hücre Sayımı…", , , , , , 8)

'Boş Hücrelerin sayısı
cellBlank = Excel.WorksheetFunction.CountBlank(myRange)

'Sadece sayı içeren hücrelerin sayısı
cellNum = Excel.WorksheetFunction.Count(myRange)

'Sadece yazı içeren hücrelerin sayısı
cellOther = Excel.WorksheetFunction.CountA(myRange) - cellNum

MsgBox cellBlank & " adet boş hücre var." & vbNewLine _
& cellNum & " adet sayı içeren hücre var." & vbNewLine _
& cellOther & " adet sayı içermeyen hücre var."

HATA:
End SubCode language: VB.NET (vbnet)
InputBox (Excel)
InputBox (Excel)

Örnek: En yüksek 3 değeri bulmak

Sub makro()

Dim aralik As Range
Dim Top1 As Double, Top2 As Double, Top3 As Double

On Error GoTo HATA
Set aralik = Application.InputBox(Prompt:="En yüksek 3 değeri bulmak için bir sayı aralığı seçin", _
Title:="En yüksek 3 değer", Type:=8)

If Application.WorksheetFunction.Count(aralik) > 2 Then
   Top1 = Excel.WorksheetFunction.Large(aralik, 1)
   Top2 = Excel.WorksheetFunction.Large(aralik, 2)
   Top3 = Excel.WorksheetFunction.Large(aralik, 3)
MsgBox "Top1: " & Top1 & vbNewLine & "Top2: " & Top2 & vbNewLine & "Top3: " & Top3 & vbNewLine, , "En yüksek 3 değer"
Else
   MsgBox "Lütfen sayı içeren en az 3 hücre seçin", vbInformation
End If

HATA:

End SubCode language: VB.NET (vbnet)
InputBox (Excel)
InputBox (Excel)

Yayımlandı

kategorisi

yazarı:

Etiketler: