VBA - Wie fülle ich ein Textfeld mit Wert aus bestimmter Zelle?

2 Antworten

In einem Initialize-Ereignis, einem Activate-Ereignis oder ähnlichen Ereignissen sollte man dringend darauf verzichten, Sichtbarkeit oder Aktivierung von irgendwelchen Elementen (auch dem, dem das Ereignis zugeordnet ist) zu ändern. Das ist nach meiner Erfahrung eine Quelle vieler Stunden spannender Fehlersuche.

(Bezieht sich auf

Sheets("Outfits Damen").Select

)

Ist "frmOutfit_Assistent2" der Name der UserForm?

Wo wird 0 angezeigt? In welcher Zelle wird FEHLER angezeigt (oder #FEHLER?)?

Befinden sich cmdPreis_anzeigen und ComboBox1 auf der UserForm oder auf einer der Tabellen?

Übrigens würde ich für derartige Dinge kein VBA und keine UserForms verwenden, sondern eine Datenbindung (wie du es ja schon hast, wenn auch auf der UserForm statt direkt beim Anlegen von ComboBox1 auf der Tabelle - ListFillRange und LinkedCell kann man auch direkt im Eigenschaftenfenster setzen) sowie SVERWEIS

14

Ergänzung dazu:

Sheets.select wird für das richtige befüllen der combobox benötigt, aber stimmt frmOutfit_Assistent2.ComboBox1.RowSource = Sheets("Outfits Damen").range("A31:A34") wäre besser.

Was ist Text_Preis? und wo wird der Preis in das Textfeld geschrieben?

1
51
@EmWald

Man kann in der RowSource-Eigenschaft auch die Tabelle angeben:

ComboBox1.RowSource = "Tabelle1!A1:A5"

Anscheinend geht dies aber nicht arbeitsmappenübergreifend.

1
14
@PWolff

Ja ok, das nutze ich selten. Ich habe es lieber gesammelt im VBA Code. Dann muss ich nicht an zig Stellen suchen, welche Excel Funktion gerade für irgendwas verantwortlich ist, aber ist wohl Geschmackssache...

Aber da liegt das Problem hier ja vermutlich eh nicht, mal auf Antwort warten :-)

1

Du weißt aber schon, dass du dazu kein VBA brauchst?

Stelle die Ansicht so ein, dass eine Bearbeitungszeile angezeigt wird. Dann Wählst du das Textfeld an und schreibst in die Bearbeitungszeile =A1 (gewünschte Zelle) Damit hast du eine dynamische Wiedergabe des Wertes von A1 im Textfeld (Makro trägt immer nur einen Augenblickszustand ein!). Kannst du als ganzes formatieren, einzelne Zeichen aber natürlich nicht (in einer Zelle, wo eine Formel drinsteht, geht das ja auch nicht.

Ist übrigens eines der wenigen Features, die LO (noch?) nicht kann!

Beim ändern einer bestimmten Zelle Makro erneut ausführen?

Hallo,

ich habe folgendes Anliegen: Ich möchte in Excel mit VBA etwas machen. Hier einmal der Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("j10")) Is Nothing Then
    Select Case Range("j10").Value
        Case "manuell"
            Range("s7:u7").ClearContents
        Case "Anfang & Ende"
            Range("s7").Value = Worksheets("PEPStauchung").Range("d2").Value
    End Select
End If
End Sub 

Ich möchte, dass, wenn ich in Zelle S6 einen Wert ändere, das ganze erneut durchgeführt wird.

Wie binde ich das ein? Vielen Dank!!!

Syrena

...zur Frage

Wie kann ich in VBA-Excel einen Filter setzen über einer CheckBox?

Hi,

ich suche eine einfachere Lösung für meine UserForm um über CheckBoxen meine Tabelle zu Filtern.

Im grunde möchte ich also, wenn ich einen Wert ankreuze soll dieser Gefiltert werden.

Wie im Beispiel (unten):

FKEP und KKEP angekreuzt = FKEP und KKEP angezeigt.

Nur KKEP angekreuzt = nur KKEP angezeigt

"Wert" der gefiltert werden soll | CheckBox Name
 FKEP                              CBFilterFKEP
 KKEP                              CBFilterKKEP
 KfB                               CBFilterKfB
 ausgesch.                         CBFilterausgesch
 beendet                           CBFilterbeendet
 EQ - KfB                          CBFilterEQKfB
 EQ - FKEP                         CBFilterEQFKEP

Mein momentaner Code schaut wiefolgt aus:

    Private Sub CBFilterFKEP_Click()

If CBFilterFKEP = True Then

    Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
    "FKEP"), Operator:=xlFilterValues

If CBFilterKKEP = True Then

    Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
    "FKEP", "KKEP"), Operator:=xlFilterValues

End If
End If
End Sub

Private Sub CBFilterKKEP_Click()

    If CBFilterKKEP = True Then

        Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
        "KKEP"), Operator:=xlFilterValues

    If CBFilterFKEP = True Then

        Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
        "KKEP", "FKEP"), Operator:=xlFilterValues

    End If
    End If
    End Sub

Soweit so gut ... nun habe ich aber nur FKEP und KKEP "abgestimmt" ... muss ich nun alle 5 Werte auch "abstimmen" ? Das wird nämlich ein SEHR langer code ... und ich könnte wetten das es in VBA viel leichter geht ...

Hat wer eine Idee von euch?

MfG Tim

...zur Frage

Excel VBA Fehler '1004' "Anwendungs- oder objektdefinirter Fehler" Was tun?

Mein Programm Prüft ob in einer bestimmten Zelle eine Stadt steht und kopiert dann aus "Diverses" eine bestimmte Range. Nur leider erscheint immer der Laufzeitfehler '1004' Anwendungs- oder objetdifinirter Fehler. Kann mir da jemand vieleicht Helfen?

Private Sub CommandButton1_Click()

If Cells(9, 4) = "Düsseldorf (3885)" Then

  Sheets("Diverses").Select
  Sheets("Diverses").Range(L2, L8).Select //Fehler in der Zeile
  Selection.Copy
 
  Sheets("IT Banf").Select
  Sheets("IT Banf").Range(A35, A41).Select
  ActiveSheet.Paste
 
  Sheets("Diverses").Select
  Sheets("Diverses").Range(L9, L13).Select
  Selection.Copy
  
  Sheets("IT Banf").Select
  Sheets("IT Banf").Range(C35, A39).Select
  ActiveSheet.Paste


End If


End Sub
...zur Frage

Excel 2010: Silbentrennung

Ist bei Excel 2010 eine Silbentrennung möglich? Also wenn ein Satz in einer Zelle durch Zeilenumbruch "passend gemacht wird", dass die Wörter an einer sinnvollen Stelle getrennt werden?

Bei Word geht das, aber ich find bei Excel nichts!

...zur Frage

VBA Runntime Error '424' - Object required?

Hallo Leute,

Ich versuche in VBA (über Excel, 2016 Version) ein UserForm zu öffnen und an diesem entsprechend Veränderungen vornehmen.

Wieso kann ich das UserForm problemlos öffnen, sobald ich aber einen weiteren Sub hinzufügen will kommt der Error?

Code1: Hier öffnet es problemlos:

   Sub open_userform()
   PictureViewer.open_userform
   End Sub

Code2: Hier kommt dann der Error:

Sub open_userform()
PictureViewer.open_userform
End Sub

Sub UserForm_Initialize()
   
  'switch off the previous, next button
  cmdBack.Enabled = False
  cmdNext.Enabled = False
  cmdSave.Enabled = False
   
  'add items to the combobox
  ComboBox1.AddItem "Samsung GT-I9100"
  ComboBox1.AddItem "iPhone"
  ComboBox1.AddItem "Canon Ixus"
  ComboBox1.AddItem "FujiFilm FinePix"
  ComboBox1.AddItem "Canon EOS"
   
End Sub

Anmerkung: Mein UserForm hat die Bezeichnung "PictureViewer".

Vielen Dank für eure Hilfe.

...zur Frage

Hilfe bei VBA Code, FilePicker geht nicht?

Hallo Leute,

ich habe hier einen Code. der funktioniert soweit aber nur mit msoFileDialogFolderPicker.

Wie bekomme ich den Code mit msoFileDialogFilePicker zum funktionieren? Ich bekomme fehler "Dateiname oder Nummer falsch"...

Code siehe unten!

Option Explicit
Sub Dateiimport()
Dim xRow As Long
Dim xDirect$, xFname$, InitialFoldr$
InitialFoldr$ = "C:\"
Range("M2").Value = 1
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = Application.DefaultFilePath & "\"
.Title = "Bitte den Pfad auswählen"
.InitialFileName = InitialFoldr$
.Show
If .SelectedItems.count <> 0 Then
xDirect$ = .SelectedItems(1) & "\"
xFname$ = Dir(xDirect$, 7)
Do While xFname$ <> ""
ActiveCell.Offset(xRow) = xFname$
xRow = xRow + 1
If xRow = 12 Then
xRow = 0
ActiveCell.Offset(0, 3).Select
End If
xFname$ = Dir

Dim d As Double d = Range("M2").Value

Range("M2") = d + 1 If Range("M2").Value = 36 Then MsgBox "Maximum erreicht!." End If If Range("M2").Value = 37 Then End Loop End If End With End Sub

...zur Frage

Was möchtest Du wissen?