Kört fast i VBA kod - Skriva in från formulä till annat blad.

Permalänk
Medlem

Kört fast i VBA kod - Skriva in från formulä till annat blad.

Hallå alla här på Swec!

Har ett litet huvudbry i mitt Excel formulär.

Detta är koden för en knapp som skickar infot från formuläret till
en spec rad i samma blad (Blad1).

Private Sub CommandButton1_Click() If cmdOperator.Text <> " " Then Range("A36").Select Do Until ActiveCell.FormulaR1C1 = "" ActiveCell.Offset(1, 0).Select Loop ActiveCell.FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 0).FormulaR1C1 = txtDat.Text ActiveCell.Offset(0, 1).FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 2).FormulaR1C1 = cmdArbetsplats.Text ActiveCell.Offset(0, 3).FormulaR1C1 = cmdAvdelning.Text ActiveCell.Offset(0, 4).FormulaR1C1 = cmdStorning.Text ActiveCell.Offset(0, 5).FormulaR1C1 = cmdAnsvarig.Text ActiveCell.Offset(0, 6).FormulaR1C1 = cmdStatus.Text ActiveCell.Offset(0, 7).FormulaR1C1 = txtAktivitet.Text End If End Sub

Denna fungerar tillfredsställande.

MEN!
Jag skulle vilja få in informationen till Blad2 i stället
Har prövat med att byta ut

Range("A36").Select

till

Sheets("Blad2"). Range("A1"). Select

Men då får jag fel på denna rad.
Körfel nr 1004: Select-metoden i range-klassen misslyckades
Har försökt lösa detta länge nu.

Så jag hoppas få lite hjälp eller förslag på lösningar härigenom.

MVH
Tokboy

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem

Vill minnas att man ska skriva
Sheets("Blad2"). Range("A1"). Select

Permalänk
Medlem

Weee.

Hittade lösningen själv.

Sorry för onödigt inlägg.
Men listar det nya om någon får samma fel.

Private Sub CommandButton1_Click() If cmdOperator.Text <> " " Then Sheet("Blad2").select Range("A36").Select Do Until ActiveCell.FormulaR1C1 = "" ActiveCell.Offset(1, 0).Select Loop ActiveCell.FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 0).FormulaR1C1 = txtDat.Text ActiveCell.Offset(0, 1).FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 2).FormulaR1C1 = cmdArbetsplats.Text ActiveCell.Offset(0, 3).FormulaR1C1 = cmdAvdelning.Text ActiveCell.Offset(0, 4).FormulaR1C1 = cmdStorning.Text ActiveCell.Offset(0, 5).FormulaR1C1 = cmdAnsvarig.Text ActiveCell.Offset(0, 6).FormulaR1C1 = cmdStatus.Text ActiveCell.Offset(0, 7).FormulaR1C1 = txtAktivitet.Text End If End Sub

Val av Blad skall stå på en egen rad innan.
MVH: Tokboy

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem
Skrivet av Agonotheta:

Vill minnas att man ska skriva
Sheets("Blad2"). Range("A1"). Select

Japp du har helt rätt.
Var bara jag som skrev fel här i forumet.
Orginalet är rätt stavat.

Men thx. har editerat så det vart rätt i inlägget.

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem

Nytt problem!

Då denna kommer att vara kopplad till en Pivo tabell
Så måste jag få in alla nya innanför tabellens ram.

Som jag har nu så läggs nya inlägg till i första tomma rad.

Jag skulle vilja få att den infogar sig på rad 2 alltid.
Så det gamla sjunker ner vart efter.

Detta har jag nu!

Private Sub CommandButton1_Click() If cmdOperator.Text <> " " Then Sheet("Blad2").select Range("A36").Select Do Until ActiveCell.FormulaR1C1 = "" ActiveCell.Offset(1, 0).Select Loop ActiveCell.FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 0).FormulaR1C1 = txtDat.Text ActiveCell.Offset(0, 1).FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 2).FormulaR1C1 = cmdArbetsplats.Text ActiveCell.Offset(0, 3).FormulaR1C1 = cmdAvdelning.Text ActiveCell.Offset(0, 4).FormulaR1C1 = cmdStorning.Text ActiveCell.Offset(0, 5).FormulaR1C1 = cmdAnsvarig.Text ActiveCell.Offset(0, 6).FormulaR1C1 = cmdStatus.Text ActiveCell.Offset(0, 7).FormulaR1C1 = txtAktivitet.Text End If End Sub

Hoppas på någon kunnig då jag inte får gå VBA kurs förrens efter sommaren.
MvH Tokboy

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem
Skrivet av Tokboy:

Nytt problem!

Då denna kommer att vara kopplad till en Pivo tabell
Så måste jag få in alla nya innanför tabellens ram.

Som jag har nu så läggs nya inlägg till i första tomma rad.

Jag skulle vilja få att den infogar sig på rad 2 alltid.
Så det gamla sjunker ner vart efter.

Detta har jag nu!

Private Sub CommandButton1_Click() If cmdOperator.Text <> " " Then Sheet("Blad2").select Range("A36").Select Do Until ActiveCell.FormulaR1C1 = "" ActiveCell.Offset(1, 0).Select Loop ActiveCell.FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 0).FormulaR1C1 = txtDat.Text ActiveCell.Offset(0, 1).FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 2).FormulaR1C1 = cmdArbetsplats.Text ActiveCell.Offset(0, 3).FormulaR1C1 = cmdAvdelning.Text ActiveCell.Offset(0, 4).FormulaR1C1 = cmdStorning.Text ActiveCell.Offset(0, 5).FormulaR1C1 = cmdAnsvarig.Text ActiveCell.Offset(0, 6).FormulaR1C1 = cmdStatus.Text ActiveCell.Offset(0, 7).FormulaR1C1 = txtAktivitet.Text End If End Sub

Hoppas på någon kunnig då jag inte får gå VBA kurs förrens efter sommaren.
MvH Tokboy

Vet inte om jag missuppfattat dig eller inte men tror du menar följande

Rows(2).Insert shift:=xlShiftDown

Du har många activecell så det är svårt att hänga med i koden.

Permalänk
Medlem
Skrivet av Agonotheta:

Vet inte om jag missuppfattat dig eller inte men tror du menar följande

Rows(2).Insert shift:=xlShiftDown

Du har många activecell så det är svårt att hänga med i koden.

Hallå där!

Din rad:
Rows(2).Insert shift:=xlShiftDown
Förstår jag tyvärr inte mycket utav.

Det jag vill göra är att när jag har fyllt i några saker i mitt formulär.
Så skall informationen skickas till Blad 2
Där det alltid skall INFOGAS in i A2
Nästa gång jag fyller i mitt formulär så skall det infogas en ny rad A2
Så det andra hoppar ner en rad till A3

Då kan jag hänvisa Pivo tabellen till ex: A2:A3 och efter varje gång jag fyllt i mitt formulär
så växer pivo tabellen och der räcker att uppdatera tabellen.
Slipper ändra tabell datan varje gång.

Hoppas detta vart en lite bättre förklaring.

Som det är nu så infogas informationen från formuläret på första tomma rad.
Vilket medför att bladet växer utanför tabellens markering.
EX: Ny information från formuläret läggs in i A11
Tabellens data omfång är A2:A10
Då måste jag gå och ändra tabellens data område varje gång.

Detta slipper man om man infogar en ny rad innanför data området.
då växer tabellen per automatik.

MvH Tokboy

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem

Den koden gör att du infogar en ny rad.

Använd inspelningsfunktionen om du vill lära dig vilka koder man ska använda.
Tryck på spela in och sen gör vad du vill ha gjor och stäng av inspelningen så ser du den motsvarande koden.

Permalänk
Medlem

OK.
Jag får testa.
Byter ut min rad 2 mot din kod.

Thx

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem


Får det inte att fungera!

Får nog vänta på min kurs till hösten.

Thx ändå för den snabba hjälpen.
MvH Tokboy

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem

Detta vart lösningen!

Private Sub CommandButton1_Click() Sheets("Störning").Select Range("A3").Select ActiveCell.Offset(0, 0).FormulaR1C1 = txtDat.Text ActiveCell.Offset(0, 1).FormulaR1C1 = cmdOperator.Text ActiveCell.Offset(0, 2).FormulaR1C1 = cmdArbetsplats.Text ActiveCell.Offset(0, 3).FormulaR1C1 = cmdAvdelning.Text ActiveCell.Offset(0, 4).FormulaR1C1 = cmdStorning.Text ActiveCell.Offset(0, 5).FormulaR1C1 = cmdAnsvarig.Text ActiveCell.Offset(0, 6).FormulaR1C1 = cmdStatus.Text ActiveCell.Offset(0, 7).FormulaR1C1 = txtAktivitet.Text Range("A3:H3").Insert shift:=xlShiftDown End Sub

Om det kan vara till någon hjälp för någon annan.

Ha det gott alla!

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz

Permalänk
Medlem

Ska du gå kurs i VBA?

Kolla lite på youtube istället. Sök lite på google.
Det är så jag lärt mig.

Permalänk
Medlem
Skrivet av Agonotheta:

Ska du gå kurs i VBA?

Kolla lite på youtube istället. Sök lite på google.
Det är så jag lärt mig.

Japp. Skall få gå en tredagars kurs i VBA För Excel fördjupning
till hösten.

Men jag letar mycke via google och youtube.
Då jag är självupplärd.

Visa signatur

Chassi: CorsAir Obsidian 900D PCU: CorsAir AX 1200i - Moderkort: ASUS ROG Strix Z590-F Gaming WiFi - CPU: Intel Core i9-11900K - Minnen: CorsAir Vengeance RGB Pro 64GB (4x16GB) DDR4 3200MHz - GPU: 2x PowerColor LCS Radeon R9 290x 4gb Skärm: 2x ASUS VG248QE 144hz