Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: kopiowanie w VBA
trojakk




Typ: neutral
Postów: 2
Zarejestrowany: May 2005
kopiowanie w VBA

musze wpisac w przycisku w formularzu1 kod ktory pozwoli mi przerzucic dane z tabeli do formul  arza2 (w formularzu2 musza one byc w polach txt nie wiem jak to zrobic i czy trzeba tworzyc wczesniej taki formularz z przygotowanymi polamitxt )

20-05-2005 15:53
Pokaż profil trojakk  Wyślij email do trojakk   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Aby prawidłowo odpowiedzieć na to pytanie, potrzebnych jest więcej szczegółów, np.:
- z jakiego arkusza,
- z jakiego zakresu komórek (zamknięty, czy też może się zmieniać),
- do jakiego formantu zmierzasz ładować te dane (czy tylko pola tekstowe)?

UserForm2.TextBox1 = Worksheets("Arkusz1".Range("A1"
UserForm2.TextBox2 = Worksheets("Arkusz1".Range("A2"

itd, itp....


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

21-05-2005 21:18
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
makol




Typ: neutral
Postów: 5
Zarejestrowany: May 2005

Mam rowniez problem z kopiowaniem, wiec sprobuje podpiac sie pod temat. W UserFormie mam ListBoxa, w ktorym ma byc widoczny zakres Arkusz3 B3:B100 lub B3: w dol, gdyby ewentualnie zakres sie powiekszyl, przycisk ma realizowac kopiowanie wybranej pozycji z ListBoxa do komorki B5 w Arkuszu1. Mozna by tez zrobic ListBox DblClick i wtedy podwojne klikniecie wybranej pozycji skopiuje ja do wybranej komorki z pominieciem przycisku. No i jeszcze ewentualnie MsgBox w przypadku, gdyby pozycja nie zostala wybrana "Wybierz pozycje z listy"
makol

23-05-2005 19:57
Pokaż profil makol  Wyślij email do makol   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Worksheets("Arkusz1".Range("B5" = Me.ListBox1

Odnośnie odczytywania z komórek Excela i ładowania do kombo przeszukaj forum. Było już całe multum odpowiedzi na ten temat.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

23-05-2005 22:13
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
makol




Typ: neutral
Postów: 5
Zarejestrowany: May 2005

jestem raczej początkujący, dlatego prosz o poprawki w kodzie:

'powinien skopiowac wybrany element z listy do komorki B7 w Arkusz1
Private Sub AddButton_Click()
      Select Case ListBox1.ListIndex
        Case -1
            MsgBox "Wybierz pozycję z listy."
            Exit Sub
        End Select
    Unload Me
End Sub

Private Sub CancelButton_Click()
    Unload Me
End Sub

Private Sub CommandButton1_Click()
    Otwórz_Arkusz3'uruchamia makro
    UserForm2.Hide
End Sub

'nie wiem czy dobrze okreslam źródło dla ListBox1 i czy w tym miejscu
Private Sub ListBox1_Click()
    UserForm2.ListBox1.RowSource = "Nazwa_Zakresu" 
    UserForm2.Show
    Call AddButton_Click
End Sub

'podwójne kliknięcie powinno skopiowac wybrany element z listy do komórki B7 w Arkusz1
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Call AddButton_Click
End Sub

Private Sub UserForm_Click()

End Sub

24-05-2005 08:45
Pokaż profil makol  Wyślij email do makol   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Czy to jest kod dla UserForm2???


'powinien skopiowac wybrany element z listy do komorki B7 w Arkusz1
Private Sub AddButton_Click()
If ListBox1.ListIndex = -1 Then MsgBox "Wybierz pozycję z listy."
'dla jednokolumnowej listy
ThisWorkbook.Worksheets("Arkusz1".Range("B7" = Me.ListBox1
'dla wielokolumnowej listy
'ThisWorkbook.Worksheets("Arkusz1".Range("B7" = Me.ListBox1.Column(0,Me.ListBox1.ListIndex)

    Unload Me
End Sub

Private Sub CancelButton_Click()
    Unload Me
End Sub

Private Sub CommandButton1_Click()
    Otwórz_Arkusz3 'uruchamia makro
    UserForm2.Hide
End Sub

'TEGO FRAGMENTU NIE ROZUMIEM
'kliknięcie na  listbox1 w UserForm powoduje:
'- określenie źródła dla UserForm2.ListBox1
'- Uruchomienie procedury AddButton_Click w UserForm1
'==================================================
'nie wiem czy dobrze okreslam źródło dla ListBox1 i czy w tym miejscu
'Private Sub ListBox1_Click()
'    UserForm2.ListBox1.RowSource = "Nazwa_Zakresu" 
'    UserForm2.Show
'    Call AddButton_Click
'End Sub
'==================================================

'podwójne kliknięcie powinno skopiowac wybrany element z listy do komórki B7 w Arkusz1
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Call AddButton_Click
End Sub

'określenie źródła dla ListBox1 na UserForm2
Private Sub UserForm2_Initialize()
'ładuj po kolmnie A
Do While ThisWorkbook.Worksheets("Arkusz1".Range("A" & i)<> ""
    Me.ListBox1.AdItem ThisWorkbook.Worksheets("Arkusz1".Range("A" & i)
Loop
End Sub



Gdyby poprawki nie były trafne, to raczej podeślij mi plik, bo po omacku ciężko się poruszać.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

24-05-2005 09:48
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
makol




Typ: neutral
Postów: 5
Zarejestrowany: May 2005

wysylam plik na priv, bo cos jest nie tak
pozdrowienia
makol

24-05-2005 11:35
Pokaż profil makol  Wyślij email do makol   
makol




Typ: neutral
Postów: 5
Zarejestrowany: May 2005

Po zmianach i poprawkach wyglada to tak:

Private Sub ListBox1_Click()
   
End Sub

'powinien skopiowac wybrany element z listy do komorki C7 w Arkusz1
Private Sub AddButton_Click()
    Sheets("Arkusz1".Unprotect
        If ListBox1.ListIndex = -1 Then MsgBox "Wybierz pozycję z listy", vbInformation
        'tu jest problem z MsgBoxem i nie wiem co z tym zrobić
        'dla jednokolumnowej listy
        'ThisWorkbook.Worksheets("Arkusz1".Range("C7" = Me.ListBox1
        'dla wielokolumnowej listy
        ThisWorkbook.Worksheets("Arkusz1".Range("C7" = Me.ListBox1.Column(0, Me.ListBox1.ListIndex)
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        True
    Sheets("Arkusz1".EnableSelection = xlUnlockedCells
    Unload Me
End Sub

Private Sub CancelButton_Click()
    Unload Me
End Sub

Private Sub CommandButton1_Click()
    Otwórz_Inwestorzy
    UserForm2.Hide
End Sub

'podwójne kliknięcie powinno skopiowac wybrany element z listy do komórki C7 w Arkusz1
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Call AddButton_Click
End Sub

'określenie źródła dla ListBox1 na UserForm2
Private Sub UserForm2_Initialize()
    'ładuj po kolmnie B
    'Do While ThisWorkbook.Worksheets("Arkusz3".Range("B" & i) <> ""
    'Me.ListBox1.AdItem Sheets("Arkusz3".Range("B" & i)
    ListBox1.RowSource = "Arkusz3!Nazwa_Zakresu"  'we właściwościach ListBox1 RowSource=Nazwa_Zakresu
Loop
End Sub

Private Sub UserForm_Click()
    vbDefaultButton2
End Sub

pozdrawiam

24-05-2005 22:45
Pokaż profil makol  Wyślij email do makol   
Wszystkich odpowiedzi: 7 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1