• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Fariabele tekst plaatsen in een bepaalde cel.

Status
Niet open voor verdere reacties.

Bertus78

Gebruiker
Lid geworden
17 aug 2017
Berichten
209
Ik heb weer even hulp nodig.

Ik zoek een VBA code

Ik werk met diverse sheets.
Bij de sheet "storing melden" voer ik een nummer in.
Daar onder vul in de zelfde sheet "storing melden" in vak A16 de storing in.

Nu wil ik dat hij in de sheet "koffieautomaten" de betreffende nummer opzoek (in rij A).
Daarna wil ik dat wat ik ingevoerd heb in sheet "storing melden)" vak a16 plakt in de sheet "koffieautomaten" rij I.
Dit komt onder een knop te staan.

Ik heb al het volgende, maar dat is voor vaste tekst,
Code:
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match(Sheets("storing melden").Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = "Defect"
 End With

Wie kan mij hierbij helpen (ben een beginner in vba code)

Alvast bedankt.

(msexcel 2010)
 
Code:
Dim gev
tekst=[storing melden!A16]
With Sheets("koffieautomaten")
 gev = Application.Match(Sheets("storing melden").Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = tekst
 End With

of

Code:
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match(Sheets("storing melden").Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = [storing melden!A16]
 End With
 
Ik kom er nog even niet uit, excuus.

Hij zet het inderdaad daar neer, echter als ik dan cel "storing melden" B5 leeg haal, dan word de cel "koffieautomaten" vak I (8) ook leeg.
Hij spiegelt, maar hij kopieert het niet.
 
zo dan?:
Code:
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match(Sheets("storing melden").Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = [storing melden!A16][B][COLOR="#FF0000"].value[/COLOR][/B]
 End With
 
Het is dichtbij maar nog niet helemaal goed.
Ik krijg hem niet vast erin.

tevens krijg ik dit te zien #NAAM?#
 
Laatst bewerkt:
plaats je bestand eens (of een voorbeeld van je origineel)...
 
Bekijk bijlage 305441

Zie hier het programma, wat ik in wil voeren staat onder knop "1e lijn opslaan" en onder stukje 'variabele tekst invoegen sheet koffieautomaten
 

Bijlagen

  • Automaten leeg.xlsm
    85,1 KB · Weergaven: 45
Bertus,

kijk eens of dit voldoet

De oorzaak van het niet geod werken: het gebruik van samengevoegde cellen A16:E16

Wat ik daarom gedaan heb:
A16:E16 is een benoemd bereik geworden met de naam "storingsmelding"

In de macro vind je dit zo terug:
Code:
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match(Sheets("storing melden").Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = [COLOR="#FF0000"][storingsmelding][/COLOR]
 End With
 

Bijlagen

  • Automaten leeg hs.xlsm
    88,9 KB · Weergaven: 45
Verwijder alle samengevoegde cellen. Deze geven vaak ellende in combinatie met VBA.

Vervang de code in Module2 door onderstaande en test het eens.
Code:
Sub Knop2_Klikken()
Dim r As Range, j As Long, ar
  ar = Array([B5].Value, [B13].Value, [A16].Value, [B22].Value, "Vul alle gele velden in A.U.B.", "Vul in wie de melder is A.U.B.", _
  "Omschrijving van automaatstoring ontbreekt.", "Aan wie heeft u de storing uitgegeven ontbreekt")
  For j = 0 To 3
    If ar(j) = "" Then
      MsgBox ar(j + 4)
      Exit Sub
    End If
  Next j

  Sheets("DATABASE 1e lijn").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 10) = _
  Array([B5].Value, [B6].Value, [G6].Value, [G5].Value, [B7].Value, [B9].Value, [B10].Value, [A16].Value, [B13].Value, [B22].Value)

  With Sheets("doorbellen").Range("B5:B14")
    .ClearContents
    .Value = Application.Transpose(Array([B22].Value, [B23].Value, "", [A16].Value, "", [B5].Value, [B6].Value, [B7].Value, [B8].Value, [B9].Value))
  End With

  With Sheets("koffieautomaten")
    Set r = .Columns(1).Find([B5], , xlValues, xlWhole)
    If Not r Is Nothing Then
      r.Offset(, 6) = "Defect"
      r.Offset(, 8) = [A16].Value
      r.Offset(, 12).Resize(, 2) = Array("Inzet 1e lijn", "1")
    End If
  End With
  
  MsgBox ("AKTIE VERWACHT! Storing doorbellen.")
  Range("A16,B5,B13,B15,B22").ClearContents
End Sub
 
Laatst bewerkt:
Dan gaat hij hele rare dingen doen en slaat hij niets meer op.
Krijg ook foutmelding.
 
Wat voor rare dingen gebeuren er en welke foutmelding krijg je?
 

Bijlagen

  • Automaten leeg.xlsb
    80,4 KB · Weergaven: 43
In sheet "koffieautomaten" vak I waar de betreffende storing in moet komen te staan daar komt #NAAM! te staan
En er moet komen wat je intikt bij sheet "storing melden" A16
 
Hoeveel bestandjes heb ik geplaatst? In de blauwe balk boven iedere reactie staat aan de rechterkant een # gevolgd door een volgnummer. Dus #14 is reactie 14.
 
O ja bedankt,

Die werkt, ik ga even kijken wat ik fout doe.
Wat mij opviel is dat het document van u op XLSB eindigt en die van mij op XLSM.
Zit daar nog verschil tussen ?
 
In sheet "koffieautomaten" vak I waar de betreffende storing in moet komen te staan daar komt #NAAM! te staan
En er moet komen wat je intikt bij sheet "storing melden" A16

Heb je wel mijn bijlage gebruikt?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan