< návrat zpět
MS Excel
Téma: načítanie do viacrozmerného pola VBA
Zaslal/a ErikStudenic 19.4.2021 22:38
Zdravím,
som samouk a rád by som sa naučil lepšie pracovať s VBA
ale narazil som na prekážku
ak mám viacrozmerné pole ktoré viem že má
Pole(a,b,c)
ako nažítam jednotlivé bunky do pola ?
nepoznám počet riadkov ktoré sú zaplnené
ale viem že
do pola a(String) naťahujem bunky z A stĺpca do pola b(String) taťahujem B stĺpec a do c(Integer) naťahujem F stĺpec
do MsgBoxu chcem vypísať len tie "riadky" kde má F hodnotu menšiu ako 90
Ďakujem za pomoc
elninoslov(19.4.2021 23:49)#050488 Pr. načítania oblasti buniek do poľa:
Sub Kontrola_hodnoty()
Dim Pole(), Riadkov As Long, i As Long, MSG As String
With Worksheets("Hárok1")
Riadkov = .Cells(Rows.Count, "A").End(xlUp).Row - 1
If Riadkov = 0 Then MsgBox "Chábajú data.", vbExclamation: Exit Sub
Pole = .Range("A2:F2").Resize(Riadkov).Value
End With
For i = 1 To Riadkov
If Pole(i, 6) < 90 Then
MSG = MSG & vbNewLine & Join(Array(Pole(i, 1), Pole(i, 2), Pole(i, 3), Pole(i, 4), Pole(i, 5), Pole(i, 6)), " / ")
End If
Next i
MsgBox IIf(MSG = "", "všetko OK", "Tieto hodnoty sú pod limitom <=90" & MSG), IIf(MSG = "", vbInformation, vbCritical)
End Subcitovat
elninoslov napsal/a:
Pr. načítania oblasti buniek do poľa:
Sub Kontrola_hodnoty()
Dim Pole(), Riadkov As Long, i As Long, MSG As String
With Worksheets("Hárok1")
Riadkov = .Cells(Rows.Count, "A").End(xlUp).Row - 1
If Riadkov = 0 Then MsgBox "Chábajú data.", vbExclamation: Exit Sub
Pole = .Range("A2:F2").Resize(Riadkov).Value
End With
For i = 1 To Riadkov
If Pole(i, 6) < 90 Then
MSG = MSG & vbNewLine & Join(Array(Pole(i, 1), Pole(i, 2), Pole(i, 3), Pole(i, 4), Pole(i, 5), Pole(i, 6)), " / ")
End If
Next i
MsgBox IIf(MSG = "", "všetko OK", "Tieto hodnoty sú pod limitom <=90" & MSG), IIf(MSG = "", vbInformation, vbCritical)
End SubPříloha: 50488_hodnoty_buniek_do_pola.zip (17kB, staženo 2x)
Ďakujem veľmi pekne za pomoc je to presne čo som chcel ešte upravím formát F st=lpca aby sa mi to neukazovalo ako 52,852025 a bude to fungovať presne ako som chcel ĎAKUJEM ešte raz
citovat