Něco sem zkusil za pomoci polí. Možná to k něčemu bude.
Ahoj vyzkoušel sem zde uvedené kódy a všechny se chovají stejně jak popisuješ. Zpráva zůstane viset v poště k odeslání. Přístup Outlooku k poště mám nastavený přes POP3. Možná by pomohlo nastavit přístup přes SMTP?
V souboru kopírování funguje, případně si kód uprav jak radil marjankaj - Namiesto List2 daj sheets("List2").
@marjankaj
Máš pravdu, nevím. Buď si kód upraví nebo se doptá
Např:
Sub Kopiruj()
Dim i As Long
Dim maxRadek As Long
Dim maxRadek2 As Long
Dim x As Byte
x = 0
maxRadek = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To maxRadek
If ActiveSheet.Cells(i, 4).Value = "Hotovo" Then
maxRadek2 = List2.Cells(Rows.Count, 4).End(xlUp).Row
ActiveSheet.Rows(i).EntireRow.Copy List2.Rows(maxRadek2 + x)
x = 1
End If
Next i
MsgBox "Kopírování dokončeno", vbInformation, "INFO"
End Sub
Hodnoty = buňky A1 a A2, podmíněné formátování = buňka H1
Co takto? viz soubor
?
Sub SkrytRadkyPodminkou_nove5()
Dim wSheet As Worksheet, i As Integer
For Each wSheet In ActiveWorkbook.Worksheets
With wSheet
For i = 400 To 50 Step -1
If .Cells(i, "A").Value Like "254.420" Or .Cells(i, "A").Value Like "254.423" Or .Cells(i, "A").Value Like "254.424" Then
.Rows(i).Hidden = True
End If
Next i
Next wSheet
End Sub
Jo, to by šlo
Díky
Tak sem dospěl k tomuto:
Sub Rozdel()
Dim Pole() As String
Dim Pocet As Integer
Dim Hodnoty As String
Dim i as Integer
Hodnoty = Cells(1, 1).Value
Pole = Split(Hodnoty, ", ")
For Pocet = LBound(Pole) To UBound(Pole)
Cells(Pocet + 1, 5).Value = Trim(Pole(Pocet))
Next
Erase Pole
For i = 1 To Pocet
Pole = Split(Cells(i, 5).Value, " ")
With Cells(i, 5)
.Value = Pole(0)
.Offset(, 1).Value = Pole(1)
End With
Next
End Sub
Máte někdo lepší - elegantnější řešení?
Díky
Ahoj, zneužiju toto vlákno a zeptám se jak by se toto zadání dalo řešit pomocí VBA?
Pomocí pole dokážu rozdělit jednotlivé komodity, ale nedaří se mi oddělit množství (pro vedlejší sloupec).
Sub Rozdel()
Dim Pole() As String
Dim Pocet As Long
Dim Hodnoty As String
Hodnoty = Cells(1, 1).Value
Pole = Split(Hodnoty, ", ")
For Pocet = LBound(Pole) To UBound(Pole)
Cells(Pocet + 1, 5).Value = Trim(Pole(Pocet))
Next
End Sub
Lze vůbec pracovat (rozdělit) hodnoty načtené v poli nebo je jiná varianta (Collection)?
https://www.extendoffice.com/documents/excel/1252-excel-combine-cells-with-space-commas-semicolon.html
xlnc napsal/a:
Mimochodem pánové, od vás dvou bych čekal lepší makro než cyklus a Copy, když už.
Nebo takto:
Sub kopiruj()
Dim Posledni As Long
Posledni = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1:A" & Posledni).Copy Range("B1")
End Sub
marficek119 napsal/a:
Proto jsem se ptal, zda má někdo zkušenost s takovým množstvím listů..nepsal jsem s daty, ale je logické, že si někdo nebude zakládat stovky prázdných listů jen proto, aby měl v sešitu stovky prázdných listů:-)
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.