Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel / VBA

Ahoj,
poradili byste mi s funkcí do VBA Excelu:
Mám List1 a List2, v Listu2 seznam a potřebuji: zapsat text z Listu2 do buňky Listu1 ze které jsem přepl na List2, nejlépe jen kliknutím na požadovanou položku Listu2,
Díky

Předmět Autor Datum
Opravdu to musí fungovat přesně takhle? Jestli ti jde jenom o snazší zadávání hodnot ze seznamu na d…
brain_overflow 01.07.2014 22:17
brain_overflow
Není to přesně to co požaduješ, ale jako inspirace nebo možnost řešení by to mohlo fungovat. Koukni…
Siki83 01.07.2014 23:19
Siki83
Díky za reakce. Ale asi ani jedno řešení nebude vyhovovat (zatím to budu kopírovat ručně:( Asi to z…
Mazut 02.07.2014 18:03
Mazut
Ak sa chceš po kliknutí na položku v Liste2 hneď aj prepnúť na List1, tak je to jednoduché (makro tr…
los 02.07.2014 18:32
los
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Worksheets("List1").Activate ActiveCell…
mazut 20.10.2014 09:58
mazut
Staci podminka IF, Kde jsi klikl jsi dostal v parametrech
Jan Fiala 20.10.2014 12:41
Jan Fiala
díky, pomohl bys mi trochu konkrétněji? vidím to takto, ale mám špatně syntaxi If List1.Range("A:A"…
Mazut 20.10.2014 16:24
Mazut
Syntax je to najmenej, čo tam nie je dobre. Malo by to vyzerať nejako takto: Private Sub Worksheet_…
los 20.10.2014 16:59
los
Takhle by mne to nenapadlo... Upravil jsem si to na sloupce C,D,E Private Sub Worksheet_SelectionC…
Mazut 20.10.2014 17:46
Mazut
IF ActiveCell.Value >= 3 AND ActiveCell.Value <= 5 Then nebo IF ActiveCell.Value = 3 OR ActiveCell… poslední
Jan Fiala 20.10.2014 19:20
Jan Fiala
LOS je BOSS! Díky, to je přesně co potřebuju, jak jednoduché:-)
Mazut 02.07.2014 19:32
Mazut

Opravdu to musí fungovat přesně takhle?
Jestli ti jde jenom o snazší zadávání hodnot ze seznamu na druhém listu, bude jednodušší (pro uživatele i pro tebe) použít funkci ověření dat. Dá se nastavit tak, že povolí jakékoliv hodnoty, ale ty ze seznamu se ukáží v nabídce po označení buňky.

Díky za reakce.
Ale asi ani jedno řešení nebude vyhovovat (zatím to budu kopírovat ručně:(
Asi to z dotazu nevyplynulo, ale nemůžu to napevno přesměrovat do konkrétní buňky v listu1, protože v listu1 budu vyplňovat (stejné) buňky v různých řádcích (list1 je databáze) a v listu2 se budou data jednou za čas měnit, takže nemůžu použít odkaz "natvrdo".

Ak sa chceš po kliknutí na položku v Liste2 hneď aj prepnúť na List1, tak je to jednoduché (makro treba umiestniť do Listu2):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Worksheets("List1").Activate
    ActiveCell.Value = Target.Value
End Sub

Ak chceš zostať na Liste2, tak je to trochu zložitejšie:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    Worksheets("List1").Activate
    ActiveCell.Value = Target.Value
    Target.Worksheet.Activate
    Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("List1").Activate
ActiveCell.Value = Target.Value
End Sub

Nevěděl by někdo, jak udělat, aby toto fungovalo jen při kliknutí ze sloupců A,B,C z listu 1?

Takhle by mne to nenapadlo...

Upravil jsem si to na sloupce C,D,E

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("List1").Activate
If ActiveCell.Column = 3 Then
ActiveCell.Value = Target.Value
End If
If ActiveCell.Column = 4 Then
ActiveCell.Value = Target.Value
End If
If ActiveCell.Column = 5 Then
ActiveCell.Value = Target.Value
End If
End Sub

Počítám, že to jde v jedné podmínce, ale tohle mi stačí:-)
Děkuji za řešení.

Zpět do poradny Odpovědět na původní otázku Nahoru