< návrat zpět

MS Excel


Téma: vyhledávání rss

Zaslal/a 7.3.2012 14:31

čau, potřeboval bych poradit pánové. Pro vás určitě jednoduchá věcička, pro mě již hromada času prolejzáním různejch for a nápověd - bez úspěchu :-(


V List1 mám údaje ve sloupcích A;B;C
v List2 mám také údaje ve sloupcích A;B;C

Nyní bych potřeboval makro na to aby to dalo následující:
porovná sloupce "A" v obou listech a to co není v List1, ale je v List2 tak překopíruje daný řádek z List2 na konec seznamu v List1. Je-li shoda v buňkách v obou listech. Tak překopíruje buňky a;b;c z List2 k příslušnému řádku v List1 do řádku, kde byla shoda do buněk d;e;f.
a poslední, jestliže není shoda, tak nic :-)

Zjednodušeně, porovnávám údaje z Listu1 s Listem2 a případně List1 doplním. Nejlépe v jednom makru :-)

A otázka č.2
Jakou učebnici VBA byste mi doporučili (pro začátečníka :-)

stop Uzamčeno - nelze přidávat nové příspěvky.

#007540
Jeza.m
Asi je trochu zbytečné v případě shody do sloupce D přenášet hodnotu ze sploupce A druhého listu, jelikož podle této hodnoty porovnáváme a musí tudíž být shodná s hodnotou ve sloupci A listu 1. Ale na druhou stranu to ničemu nevadí :-).

M@
Příloha: zip7540_doplneni.zip (8kB, staženo 28x)
citovat
#007541
avatar
V Listu1 by měl být první řádek prázdný.

Sub dopisAprepis()
Dim c As Range
Dim d As Range
Dim i As Long
Dim Src As Range

With Worksheets("List2")
.Activate
For Each d In .Range("A1:A" & Range("A65536").End(xlUp).Row)
With Worksheets("List1")
Set Src = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
'Debug.Print Src.Address
End With
Set c = Src.Find(d.Value, LookIn:=xlValues)
'Debug.Print d.Address
If Not c Is Nothing Then
For i = 1 To 3
c.Offset(0, i).Value = d.Offset(0, i).Value
Next i
Else
With Worksheets("List1")
Set c = .Range("A" & .Range("A65536").End(xlUp).Row + 1)
For i = 0 To 3
c.Offset(0, i).Value = d.Offset(0, i).Value
Next i
End With
End If
Next d
Set Src = Nothing
End With
End Sub
citovat
#007542
avatar
hmmmm ... Jeza.m ... :( ... zase předbíhá :(citovat
#007559
avatar
Pánové děkuji vám oběma. jak píše Jeza, tak ta druhá část je zbytečná, což sem si nějak neuvědomil. Ale funguje to krásně.
A náhodou o nějaké dobré literatuře na VBA nevíte?citovat
icon #007577
avatar
Čokoľvek od Johna Walkerbacha, ja mám napr.Excel 2000&2002, programovanie vo VBA, ale videl som i verzie pre 2007, vydáva Computerpress. Okrem toho mám ešte napr. Excel 2007 VBA velká kniha riešení, autori Melanie Breden a Michael Schwimmer, tiež vydal Computerpress, ale zatiaľ som sa k tomu nedostal takže k tejto referenciu nedám. Ten Walkerbach je ale klasika a určite doporučujem, pokiaľ prejdeš celú knihu, tak Ťa už vo VBA asi máločo prekvapí. Je to na pár mesiacov intenzívneho štúdia, cena cca 800 Kč - vyplatí sa.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse