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

388

    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. Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli

      Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei
      Kauhava
      168
      6144
    2. Ootko rakastunut?

      Kerro pois nyt
      Ikävä
      147
      1714
    3. Onhan sulla nainen parempi mieli

      Nyt? Ainakin toivon niin.
      Ikävä
      113
      1508
    4. Ujosteletko tosissaan vai mitä oikeen

      Himmailet???? Mitä pelkäät?????
      Ikävä
      51
      1260
    5. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      46
      904
    6. Möykkähulluus vaati kuolonuhrin

      Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢
      Kauhava
      28
      844
    7. Älä mies pidä mua pettäjänä

      En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu
      Ikävä
      96
      827
    8. Reeniähororeeniä

      Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?
      Kouvola
      5
      779
    9. Kävit nainen näemmä mun

      Facessa katsomassa....
      Ikävä
      41
      729
    10. Tarvitsemme lisää maahanmuuttoa.

      Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan
      Maailman menoa
      219
      714
    Aihe