Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
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

Zwei Spalten nach Zahl durchsuchen

Zwei Spalten nach Zahl durchsuchen
23.07.2018 21:06:26
Tobias
Hallo, ich habe vor ein Paar Wochen schon mal das Thema aufgemacht und von KlaWet hilfe bekommen. Musste aber dann ins Krankenhaus und konnte nicht mehr antwoten.
Damals war die Frage : "ich habe eine Tabelle in der A oder B eine Nummer steht.
Nun möchte ich per Makro in die erste Zeile in der in A und B nichts steht was reinschreiben. " Das funktioniert prima.
Muss/will das nun erweitern. Es soll erst in den beiden Spalten A und B geschaut werden ob "Nummer" vorhanden ist. Wenn ja sollen die Daten ( Anrede, Vorname, Nachname ... ) aktuallisiert werden.
Dim Nummer As String
Dim Anrede As String
Dim Vorname As String
Dim Nachname As String
Dim Strasse As String
Dim PLZ As String
Dim Ort As String
Dim lngLast(0 To 2) As Long
Set worksKunden = Workbooks("Kunden.xls").Worksheets("Daten")
Nummer = Range("Nummer")
Anrede = Range("Anrede")
Vorname = Range("Vorname")
Nachname = Range("Nachname")
With worksKunden
'erste freie Zeile für jede Spalte ermitteln
lngLast(1) = .Cells(Rows.Count, "A").End(xlUp).Row + 1
lngLast(2) = .Cells(Rows.Count, "B").End(xlUp).Row + 1
'maximale Zeile ermitteln
lngLast(0) = Application.WorksheetFunction.Max(lngLast(1), lngLast(2))
' Eintragen
.Range("A" & lngLast(0)) = "Nummer"
'.Range("B" & lngLast(0)) = LEER
.Range("C" & lngLast(0)) = "Anrede"
.Range("D" & lngLast(0)) = "Name"
.Range("E" & lngLast(0)) = "Vorname"
' Speichern
ActiveWorkbook.Save
End With
Kann mir jemand weiterhelfen?
Liebe Grüße TObi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei Spalten nach Zahl durchsuchen
24.07.2018 02:10:07
Tobias
Ich habe mal eine Demo Datei hochgeladen.
https://www.herber.de/bbs/user/122838.zip
Die Eingabe erfolgt über die Datei Eingabe
In Nummer wird die Kundennummer eingegeben.
Es soll in Kunden.xlsx in A und B gesucht werden ob die Nummer vorhanden ist.
Wenn ja soll die Zeile aktuallisiert werden.
Wenn nicht soll in der ersten leeren Zeile die Werte in A, C, D, und E eingetragen werden
Vielen Dank
TObi
AW: Zwei Spalten nach Zahl durchsuchen
24.07.2018 11:23:54
fcs
Hallo Tobi,
so funktioniert es.
Ich hab zsätzlich Prüfungen eingebaut
a: Ist DAtei Kunden.xls geöffnet
b: sind mindestens Nummer und Nachname eingegeben
Gruß
Franz
Sub Speichern()
Dim wkbEingabe As Workbook, wkbKunden As Workbook
Dim wksEingabe As Worksheet, worksKunden As Worksheet
Dim rngFinden As Range
Dim Zeile_K As Long
Dim Nummer As Variant
Dim Anrede As String
Dim Vorname As String
Dim Nachname As String
Dim Strasse As String
Dim PLZ As String
Dim Ort As String
Set wkbEingabe = ActiveWorkbook
Set wksEingabe = ActiveSheet
'Prüfen ob "Kunden.xlsx" geöffnet ist
For Each wkbKunden In Application.Workbooks
If LCase(wkbKunden.Name) = "kunden.xlsx" Then
Exit For
End If
Next
If wkbKunden Is Nothing Then
MsgBox "Die Datei ""Kunden.xlsx"" ist zur Zeit nicht geöffnet.", vbOKOnly, _
"Eingabe Speichern"
GoTo Beenden
End If
Application.ScreenUpdating = False
Set worksKunden = wkbKunden.Worksheets(1) 'oder .Worksheets("Daten")
If wksEingabe.Cells(2, 1).Text = "" Or wksEingabe.Cells(2, 4).Text = "" Then
MsgBox "Nummer und Nachname müssen eingegeben werden!", vbOKOnly, _
"Prüfung Eingaben"
GoTo Beenden
End If
With wksEingabe
Nummer = .Range("Nummer")
Anrede = .Range("Anrede")
Vorname = .Range("Vorname")
Nachname = .Range("Nachname")
'usw.
End With
With worksKunden
Set rngFinden = .Range(.Columns(1), .Columns(2)).Find(what:=Nummer, LookIn:=xlValues, _
lookat:=xlWhole)
If rngFinden Is Nothing Then
'nächste freie Zeile in Spalte E (Nachname)
Zeile_K = .Cells(.Rows.Count, 5).End(xlUp).Row + 1
.Cells(Zeile_K, 1) = Nummer       'Spalte A
Else
Zeile_K = rngFinden.Row
End If
.Cells(Zeile_K, 3).Value = Anrede   'Spalte C
.Cells(Zeile_K, 4).Value = Vorname  'Spalte D
.Cells(Zeile_K, 5).Value = Nachname 'Spalte E
'usw.
End With
wkbKunden.Save
Beenden:
Application.ScreenUpdating = True
Set wkbKunden = Nothing: Set wksEingabe = Nothing: Set worksKunden = Nothing
Set rngFinden = Nothing
End Sub

Anzeige
AW: Zwei Spalten nach Zahl durchsuchen
24.07.2018 15:03:25
Tobias
Hallo Franz, vielen vielen Dank.
Es funktioniert wunderbar!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige