koodi?

Peksu_

Olen kirjoittanut tällaisen koodin vba:lla yhden commandbuttonin alle. Se lisää 10 textboxia lomakkeelle.

Dim Txtbox1(0 To 10)
X = 30
For j = 0 To 10
Set Txtbox1(j) = Controls.Add("Forms.Textbox.1", , True) 'True = Visible
X = X 20
Txtbox1(j).Width = 125
Txtbox1(j).Height = 15.75
Txtbox1(j).Top = X 36
Txtbox1(j).Left = 24
Next j

Haluaisin noista luoduista uusista textboxeista siirtää tietoja excel-taulukkoon. Minkälainen koodi tarvitaan, jotta tiedän, että haluamani textboxin tieto menee juuri oikeaan paikkaan jotain toista commandbuttonia klikkaamalla?

4

393

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tätä...

      Application.ActiveSheet.Range("C3") = Txtbox1(1).Text

      • peetee

        Eipä toimi, ilmittaa txtbox1(1):n kohdalla että Sub or Funktion not defined.


      • tätä...
        peetee kirjoitti:

        Eipä toimi, ilmittaa txtbox1(1):n kohdalla että Sub or Funktion not defined.

        Veikkaan että yritit suorittaa rivin joko;

        a) ennen kuin olet lisännyt kontrollit lomakkeelle

        b) toisesta aliohjelmasta, jolloin luomasi taulukko on "out of scope" (jolloin sinun on määriteltävä kontrollitaulukko "globaalisti" siten että se on kaikkien aliohjelmien käytettävissä tai muuten selvitettävä mitä kontrolleja formilla on)

        Tämä koodi on kuitenkin kokeiltu ja todettu toimivaksi:

        Dim Txtbox1(0 To 10)
        X = 30
        For j = 0 To 10
        Set Txtbox1(j) = Controls.Add("Forms.Textbox.1", , True)
        X = X 20
        Txtbox1(j).Text = "Boksi " & j ' Ei välttämätön
        Txtbox1(j).Width = 125
        Txtbox1(j).Height = 15.75
        Txtbox1(j).Top = X 36
        Txtbox1(j).Left = 24
        Next j

        ' Textbox(1):n arvo ("Boksi 1") soluun C3
        Application.ActiveSheet.Range("C3") = Txtbox1(1).Text

        kuten myös tämä:

        ' General
        Dim Txtbox1(0 To 10)

        Private Sub CommandButton1_Click()
        X = 30
        For j = 0 To 10
        Set Txtbox1(j) = Controls.Add("Forms.Textbox.1", , True)
        X = X 20
        Txtbox1(j).Text = "Boksi " & j
        Txtbox1(j).Width = 125
        Txtbox1(j).Height = 15.75
        Txtbox1(j).Top = X 36
        Txtbox1(j).Left = 24
        Next j
        End Sub

        Private Sub CommandButton2_Click()
        Application.ActiveSheet.Range("C3") = Txtbox1(1).Text

        End Sub


      • peetee
        tätä... kirjoitti:

        Veikkaan että yritit suorittaa rivin joko;

        a) ennen kuin olet lisännyt kontrollit lomakkeelle

        b) toisesta aliohjelmasta, jolloin luomasi taulukko on "out of scope" (jolloin sinun on määriteltävä kontrollitaulukko "globaalisti" siten että se on kaikkien aliohjelmien käytettävissä tai muuten selvitettävä mitä kontrolleja formilla on)

        Tämä koodi on kuitenkin kokeiltu ja todettu toimivaksi:

        Dim Txtbox1(0 To 10)
        X = 30
        For j = 0 To 10
        Set Txtbox1(j) = Controls.Add("Forms.Textbox.1", , True)
        X = X 20
        Txtbox1(j).Text = "Boksi " & j ' Ei välttämätön
        Txtbox1(j).Width = 125
        Txtbox1(j).Height = 15.75
        Txtbox1(j).Top = X 36
        Txtbox1(j).Left = 24
        Next j

        ' Textbox(1):n arvo ("Boksi 1") soluun C3
        Application.ActiveSheet.Range("C3") = Txtbox1(1).Text

        kuten myös tämä:

        ' General
        Dim Txtbox1(0 To 10)

        Private Sub CommandButton1_Click()
        X = 30
        For j = 0 To 10
        Set Txtbox1(j) = Controls.Add("Forms.Textbox.1", , True)
        X = X 20
        Txtbox1(j).Text = "Boksi " & j
        Txtbox1(j).Width = 125
        Txtbox1(j).Height = 15.75
        Txtbox1(j).Top = X 36
        Txtbox1(j).Left = 24
        Next j
        End Sub

        Private Sub CommandButton2_Click()
        Application.ActiveSheet.Range("C3") = Txtbox1(1).Text

        End Sub

        Oikeassa olet, nyt toimii. Pienestä johtuvat nuo probleemat tällaisella aloittelijalla.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      43
      3017
    2. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      61
      2961
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      42
      2367
    4. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      31
      1863
    5. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      25
      1719
    6. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      72
      1684
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1586
    8. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      77
      1275
    9. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      38
      1252
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      79
      1080
    Aihe