jetzt bastel ich gerade weiter an einem Makro und viel über google gesucht für den Einstieg in VBA.
das sieht wie folgt aus
Sub Zeilenkopieren()
'
' Zeilenkopieren Makro
'
Dim variable As String
variable = ("Fehlteile")
With Sheets("Fehlteile").UsedRange
.AutoFilter Field:=18, Criterial:="pv"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Übersicht").UsedRange.AutoFilter
End Sub
An dieser Stelle wird es aber beim ausführen immer gelb.
jemand ne Idee
Hallo,
an welcher Stelle?
.AutoFilter Field:=18, Criterial:="pv"
Hallo,
der Bereich im Worksheet Fehlteile umfasst mindestens 18 Spalten?
Hallo,
noch ein Nachtrag. Es heißt auch Criteria1 und nicht Criterial.
nicht 18 Spalten, es sollte die Spalte K nach dem eingetragenen Wort in M4 durchsuchen und mir dann
im 2.Tabellenblatt, sortiert nach Zahlen(aufsteigend) aus Spalte D die Zeilen einfügen mit ursprünglicher Formatierung.
in Zelle M4 wird immer mal was anderes eingetragen und dann wollte ich es per Button starten aber das weiß ich wie ich das hinbekomme.
genau das versuche ich gerade zu basteln
Hallo,
(30.05.2022, 13:53)kingkong schrieb: [ -> ]nicht 18 Spalten
????
Nach der suchst Du aber laut deinem Code.
(30.05.2022, 13:53)kingkong schrieb: [ -> ]es sollte die Spalte K nach dem eingetragenen Wort in M4 durchsuchen
das wäre dann die Spalte 11, wenn deine Tabelle auch in der Spalte A anfängt. Und zum Kriterium versuche es mal mit
Code:
Criteria1:=Range("M4").Value
Moin!
Warum deklariert man eine Variable,
weist ihr einen Wert zu,
und verwendet sie nicht??
Zumal die Klammern flüssiger als Wasser sind; erstaunlicherweis stören sie aber auch nicht …
Gruß Ralf
Ich mag diese gelbe Zeilen:
Code:
Sub M_snb()
With Sheets("Fehlteile").UsedRange
.AutoFilter 11, "pv"
.Offset(1).Copy Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Autofilter
End With
End Sub
Hi Ralf,
Zitat:Zumal die Klammern flüssiger als Wasser sind; erstaunlicherweis stören sie aber auch nicht …
So (über)flüssig sind sie dann noch nicht immer - lass mal test1 und test2 laufen:
Sub test1()
Dim x As Long
x = 1
machwas (x)
MsgBox x
End Sub
Sub test2()
Dim x As Long
x = 1
machwas x
MsgBox x
End Sub
Sub machwas(Zahl As Variant)
Zahl = Zahl + 1
End Sub