Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Like Operator

Like Operator
19.10.2016 14:37:54
Max2
Hallo Leute,
ich möchte die Range("B6:B") nach Werten durchsuchen,
wenn wert gefunden, soll die gesamte Zeile markiert werden und um eine Spalte nach rechts versetzt werden.
Wie mache ich das ?
Kann ich einfach sagen

Dim a
Dim i As Integer
Dim CheckI
For i = 1 To 15
CheckI = "[*i,,,i*]"
ActiveWorkbook.Sheets("Tabelle1")
.Range("B6:B").Select
For Each a in Selection Like CheckI
Tu was...
Next
Next i

CheckI soll eine zahl wie 5,6 oder 9,3 darstellen
Und dann soll eben die Zeile mit solch einer Zahl ausgewählt werden und eins nach rechts rutschen
So das der Wert aus Spalte A jetzt in B ist usw.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Like Operator
19.10.2016 14:45:00
Luschi
Hallo Max2
Range("B6:B").Select erzeugt einen Vba-Fehler, denn es fehlt die Zeilen-Nr hinter dem zweiten B.
Den Rest habe ich nicht so richtig verstanden.
Gruß von Luschi
aus klein.Paris
AW: Like Operator
19.10.2016 15:11:49
Max2
Mhh ok warte...
Also:
rng = .Range(.Cells(6, 2), .Cells(.Rows.Count, 2)
Und dann soll er eben ab B6 die gesamte Spalte B nach Werten mit einer Nachkommastelle durchsuchen.
In jeder Zeile von Spalte B in der er eine solche Zahl findet soll er die gesamte Zeile(also z.B. Zeile 1157) markieren und um eins nach rechts verrutschen.
Der 'Rest' ist genauso falsch, auch wenn man ...
19.10.2016 15:18:13
Luc:-?
…die unmögliche Bereichsangabe* durch eine richtige ersetzt, Luschi & Max;
abgesehen mal davon, dass dieses Select absolut überflüssig ist, kann ein ganzer Bereich nicht per Like (und auch sonst nicht!) mit einem Einzelwert vgln wdn. Das kann/muss in der Schleife geschehen! Außerdem kann man auch eleganter feststellen, ob es sich um eine Zahl (mit Dezimalen) handelt.
* Versuche das mal in Xl, Max…! ;->
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Like Operator
19.10.2016 16:43:51
Werner
Hallo Max,
meinst du so?
Dim loLetzte As Long
Dim rngBereich As Range
Dim rngZelle As Range
Dim x As Double
With Sheets("Tabelle1")
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row
Set rngBereich = .Range("B6:B" & loLetzte)
For Each rngZelle In rngBereich
If Not IsEmpty(rngZelle) Then
If rngZelle.Value / 1 - Int(rngZelle.Value / 1)  0 Then
.Range(.Cells(rngZelle.Row, 2), .Cells(rngZelle.Row, 10)).Cut rngZelle.Offset(, 1)
End If
End If
Next rngZelle
End With
End Sub
Verschoben wird von Spalte B (2) bis Spalte J (10). Das müsstest du dann noch anpassen.
Gruß Werner
Anzeige
AW: Like Operator
19.10.2016 20:12:09
Gerd
Hallo
Für nur eine Nachkommastelle
entweder beim Bereichobject .SpecialCells(xlCellTypeConstants, xlNumbers)
ergänzen oder auf Bedingung
If Isnumeric (rngZelle.Text) Then
und dann noch jedenfalls
If Right(rngZelle.Value, 2) Like "#,#" Then
in der Schleife prüfen.
Gruss Gerd
AW: Like Operator
20.10.2016 08:20:52
Max2
Danke, probiere ich aus.
AW: Like Operator
20.10.2016 08:20:14
Max2
Danke, die Grundfunktion hat gepasst, habe noch eine kleine Änderung vorgenommen jetzt läuft es.
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
20.10.2016 08:48:41
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige