Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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
Zahl in Spalte suchen und Werte in Zeile
27.03.2020 20:16:32
Tobi
Hallo guten Abend,
ich möchte alle Selects in meinen Daten entfernen .. da Excel beim Ausführen des Makros in die einzelnen Dateien springt.
Bei diesem Ausschnitt wird geschaut ob die Auftragsnummer (AufNr) in der Spalte A vorhanden ist.
Wenn nicht wird die Nummer in die Erste leere Zeile geschrieben
Wenn vorhanden geht es bei "Weiter" weiter ....
hier wir die gefundene Zelle mit select ausgewählt und dann in die Zeile geschrieben.
Das möchte ich nun ohne Select machen ..
kann mir da jemand helfen?
Dim c
Dim wksAuftrag As Worksheet
Set wksAuftrag = Workbooks("auftrag.xlsm").Sheets("Daten")
Set X = wksAuftrag.Columns(1)
'Set x da es mehr Möglichkeiten gibt .. hier nur eine variante
Set c = .Find(AufNr, LookIn:=xlValues, LookAt:=xlWhole, _
SearchDirection:=xlNext, MatchCase:=False)
If Not c Is Nothing Then
Application.Goto c
GoTo weiter
End If
With .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1).EntireRow
.Cells(1, 1).Value = RechnungsNr
.Cells(1, 2).Value = KundenNr
.Cells(1, 3).Value = GeraeteNummer
.Cells(1, 4).Value = ExterneNummer
.Cells(1, 5).Value = AuftragsDatum
Application.Goto .Cells(1, 1)
End With
End With
weiter:
Application.EnableEvents = False
ActiveCell.Select
ActiveCell = AufNr
Selection.Offset(0, 1) = RechnungsNr
Selection.Offset(0, 2) = KundenNr
Selection.Offset(0, 3) = GeraeteNummer
Selection.Offset(0, 4) = ExterneNummer
Selection.Offset(0, 5) = AuftragsDatum
Liebe Grüße
Tobi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahl in Spalte suchen und Werte in Zeile
27.03.2020 23:13:37
Kuwer
Hallo Tobi,
Dim c
Dim wksAuftrag As Worksheet
Set wksAuftrag = Workbooks("auftrag.xlsm").Sheets("Daten")
Set X = wksAuftrag.Columns(1)
'Set x da es mehr Möglichkeiten gibt .. hier nur eine variante
Set c = .Find(AufNr, LookIn:=xlValues, LookAt:=xlWhole, _
SearchDirection:=xlNext, MatchCase:=False)
If Not c Is Nothing Then
GoTo weiter
End If
With .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1).EntireRow
.Cells(1, 1).Value = RechnungsNr
.Cells(1, 2).Value = KundenNr
.Cells(1, 3).Value = GeraeteNummer
.Cells(1, 4).Value = ExterneNummer
.Cells(1, 5).Value = AuftragsDatum
Set c = .Cells(1, 1)
End With
End With
weiter:
Application.EnableEvents = False
c = AufNr
c.Offset(0, 1) = RechnungsNr
c.Offset(0, 2) = KundenNr
c.Offset(0, 3) = GeraeteNummer
c.Offset(0, 4) = ExterneNummer
c.Offset(0, 5) = AuftragsDatum
Gruß Uwe
Anzeige
AW: Zahl in Spalte suchen und Werte in Zeile
27.03.2020 23:27:38
GerdL
Moin Tobi!
Dim c As Range
Dim wksAuftrag As Worksheet
Set wksAuftrag = Workbooks("auftrag.xlsm").Sheets("Daten")
Set X = wksAuftrag.Columns(1)
'Set x da es mehr Möglichkeiten gibt .. hier nur eine variante
Set c = X.Find(AufNr, LookIn:=xlValues, LookAt:=xlWhole, _
SearchDirection:=xlNext, MatchCase:=False)
If c Is Nothing Then Set c = _
wksAuftrag.Cells(wksAuftrag.Rows.Count, 1).End(xlUp).Offset(1, 0)
c = AufNr
c.Offset(0, 1) = RechnungsNr
c.Offset(0, 2) = KundenNr
c.Offset(0, 3) = GeraeteNummer
c.Offset(0, 4) = ExterneNummer
c.Offset(0, 5) = AuftragsDatum
Set c = Nothing

Gruß Gerd
Anzeige
AW: Zahl in Spalte suchen und Werte in Zeile
28.03.2020 09:48:03
Tobi
Hallo ihr Beiden.
Vielen lieben Dank. Es funktioniert wunderbar.
Ich habe mich für die Version von Gerd entschieden.
Nun habe ich eine noch eine Frage
ich lese vorher Zellenwerte in Variablen

Set wksErfassung = Workbooks("Erfassung.xlsm").Worksheets("Eingabe Endkunde")
With wksErfassung
RechnungsNr = Range("RechnungsNr")
KundenNr = Range("KundenNr")
GeraeteNummer = Range("GeraeteNummer")
ExterneNummer = Range("ExterneNummer")
AuftragsDatum = Range("AuftragsDatum")
AuftragsDatum = Format(AuftragsDatum, "dd.mm.yyyy")
' jetzt folgen noch 80 weitere Zeilen
um sie dann in dem vorher besprochenen Ausschnitt in eine andere Datei zu schreiben.
Geht das auch kürzer?
Liebe Grüße
Tobi
Anzeige
Laufzeitfehler 424
28.03.2020 23:27:45
Tobi
Hallo Leute ..
ich versuche meine Dateien weiterzubearbeiten
Komme an der Stelle leider nicht weiter.
Bei mir kommt "Laufzeitfehler 424"
https://www.herber.de/bbs/user/136192.zip
Ich habe aber keinen Plan wieso .. kann mir jemand helfen?
Liebe Grüße
Tobi
AW: Laufzeitfehler 424
29.03.2020 00:02:01
Mullit
Hallo,
guck Dir Gerd's Code nochmal genau an ;-), und besser auch immer die Default-Eig/Val mitangeben:
Dim c As Range, X As Range
c.Value = KundenNr
Gruß, Mullit
Anzeige
.Max(Range funktioniertnicht
29.03.2020 00:27:25
Tobi
Hallo .. viele Dank
Vollkommen übersehen
An der Stelle liegt auch ein Fehler vor
With wksKunden
KdMax = Application.WorksheetFunction.Max(Range("A:A"))
KdMin = Application.WorksheetFunction.Min(Range("A:A"))
End With
Es wir die Maximale Zahl nicht gefunden.
Kann mir da jemand weiterhelfen?
LG
AW: .Max(Range funktioniertnicht
29.03.2020 00:37:16
Mullit
Hallo,
yup, auch null Problemo....
With wksKunden
        KdMax = Application.WorksheetFunction.Max(.Range("A:A"))
        KdMin = Application.WorksheetFunction.Min(.Range("A:A"))
End With

Gruß, Mullit
Anzeige
AW: .Max(Range funktioniertnicht
29.03.2020 13:13:59
Tobi
Vielen Dank für die schnelle Hilfe.
Jetzt funktioniert es :)
Bin aber schon wieder an einer Stelle an der ich nicht weiter kommen :(

If ReparaturStatus = 11 Then
Worksheets("Eingabe Endkunde").OptionButton8 = True
End If

Dort kommt jetzt ein Laufzeitfeher 9
LG
Tobi
Worksheet Name richtig geschrieben?
29.03.2020 13:19:06
Daniel
Gruß Daniel
AW: Worksheet Name richtig geschrieben?
29.03.2020 14:02:52
Tobi
Es funktioniert nur wenn ich Datei und Arbeitsmappe mitgebe.
Also zb.
If ReparaturStatus = 11 Then
Workbooks("Erfassung.xlsm").Worksheets("Eingabe Endkunde").OptionButton8 = True
End If
Ich habe so versucht .. aber es funktioniert nicht. Es kommt der Fehler "Methode oder Datenobjekt nicht gefunden"

Dim wksErfassung As Worksheet
Set wksErfassung = Workbooks("Erfassung.xlsm").Worksheets("Eingabe Endkunde")
If ReparaturStatus = 11 Then
wksErfassung.OptionButton8 = True
End If

Anzeige
AW: Worksheet Name richtig geschrieben?
29.03.2020 14:11:25
Daniel
Arbeitest du mit mehreren Dateien?
Dann muss man natürlich immer Angeben, auf welche Datei man sich bezieht.
Zum zweiten Fehler habe ich keine Ahnung.
Gruß Daniel
Perfekt .. danke owT
29.03.2020 16:31:40
Tobi
AW: Worksheet Name richtig geschrieben?
29.03.2020 15:25:52
Mullit
Hallo,
zu 2) das liegt daran, daß sich der Opt-Btn als Form-Objekt nicht in der Worksheetklasse befindet, zwei Möglichkeiten der Notation:
Dim wksErfassung As Object
Set wksErfassung = Workbooks("Erfassung.xlsm").Worksheets("Eingabe Endkunde")
If ReparaturStatus = 11 Then
      wksErfassung.OptionButton8.Value = True
End If

Dim wksErfassung As Worksheet
Set wksErfassung = Workbooks("Erfassung.xlsm").Worksheets("Eingabe Endkunde")
If ReparaturStatus = 11 Then
wksErfassung.OLEObjects("OptionButton8").Object.Value = True
End If

Gruß, Mullit
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige