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?
koodi?
4
388
Vastaukset
- 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 SubOikeassa olet, nyt toimii. Pienestä johtuvat nuo probleemat tällaisella aloittelijalla.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei1686144- 1471714
- 1131508
- 511260
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️46904Mö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! 😢28844Ä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 hu96827Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?5779- 41729
Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan219714