305 Aufrufe
Gefragt in Tabellenkalkulation von
Hi Leute

Könnte mir Bitte jemand ein Makro mit einer Inputbox schreiben.

Es sollte so ablaufen.

Inputbox erscheint man gibt 2-3 Zahlen ein zb.38,42,54

Es müssen alle Spalten mit Inhalt durchsucht werden
Sollte die Summe von Zeile A4+A5 (Spaltenweise)die eingegeben Zahl(en) enthalten beide Zahlen einfärben,
ansonsten Msg Box - nichts gefunden.

Kann man das so umsetzten?

4 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

was meinst du denn mit
[quote]Sollte die Summe von Zeile A4+A5 (Spaltenweise)die eingegeben Zahl(en) enthalten[/quote]

Meinst du dass die Summe der Zeilen 4 und 5 der jeweiligen Spalten einer der eingegebenen Zahlen entspricht (z.B. Summe ist gleich 38), oder dass z.B. die Ziffern 38 in der Summe enthalten sind (z.B. Summe ist 380 €)?

Gruß
M.O.
0 Punkte
Beantwortet von
Hi

M.O

Ja Genau
Die Summe der Zeilen 4 und 5 der jeweiligen Spalte  der eingegebenen Zahlen soll gleich sein, so wie in der Inputbox.
Also Inputbox Zahl 38

Zeile 4 (20) + Zeile 5 (18) = 38
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

kopiere das folgende Makro in ein [url=http://www.excelbeispiele.de/Modul.htm]Standardmodul[/url] deiner Arbeitsmappe:

[code]Sub Summe_suchen()

Dim strEingabe As String
Dim arrEingabe As Variant
Dim lngLSpalte As Long
Dim lngZaehler As Long
Dim i As Long

'Suchzahlen abfragen
strEingabe = InputBox("Bitte geben Sie Zahlen durch Komma getrennt ein!", "Eingabe")

'Falls keine Eingabe erfolgt, Makro beenden
If Len(strEingabe) = 0 Then
 MsgBox "Es ist keine Eingabe erfolgt!", 16, "Abbruch"
 Exit Sub
End If

'Eingabe aufteilen
arrEingabe = Split(strEingabe, ",")

With ActiveSheet
  'letzte Spalte in Zeile 4 ermitteln
   lngLSpalte = .Cells(4, Columns.Count).End(xlToLeft).Column

   For lngSpalte = 1 To lngLSpalte
      For i = LBound(arrEingabe) To UBound(arrEingabe)
        If .Cells(4, lngSpalte).Value + .Cells(5, lngSpalte).Value = CLng(arrEingabe(i)) Then
           lngZaehler = lngZaehler + 1
           .Range(.Cells(4, lngSpalte), .Cells(5, lngSpalte)).Interior.ColorIndex = 33
        End If
      Next i
    Next lngSpalte
End With

If lngZaehler = 0 Then MsgBox "Es wurden keine Übereinstimmungen gefunden!", 48, "Hinweis"

End Sub[/code]

Ich habe nur eine Prüfung eingebaut, ob überhaupt etwas eingegeben wurde. Ob Zahlen eingegeben werden, wird nicht geprüft.

Gruß

M.O.
0 Punkte
Beantwortet von
Hi

M.O

Funktioniert Super das erleichtert meine Arbeit nun ungemein.

Vielen Dank nochmal

lg
Wini19
...