Excel Hakkında Herşey

InputBox (Excel)

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.

Kod

Açıklama

0

Formül

1

Sayı

2

Yazı (String)

4

Boolean

8

Aralık (Range)

16

Hata değeri (Error value)

64

Değerler dizisi (Array of values)

1+2 = 3

Sayı + 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 Sub

Örnek

Örnek


Ö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 Sub

Örnek

Örnek


Ö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 Sub

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

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

Paylaş:

Ara

Son eklenen

Diğer Uygulamalarla Etkileşim

Bu bölümde VBA aracılığıyla Word, PowerPoint, Outlook, Adobe gibi uygulamalarla iletişim kurmayı öğreneceğiz. Excel’in dahili yöntem ve meto...