![]() |
Betrifft: Excel VBA - Zelle beschriftet einfügen mit if
von: Gerriet
Geschrieben am: 15.08.2014 09:18:29
Hallo zusammen,
ich muss für das studentische Forum meiner Hochschule eine Liste programmieren, welche aus den Daten Namen, Matrikelnummer und Telefon besteht und deren Einträge zum Teil unvollständig sind. In diesem Zusammenhang soll das Makro im ersten Schritt raussuchen, ob in Spalte A "Name:..." steht und in der darauffolgenden Zeile der Spalte A "Matrikelnummer:..." und in der darauffolgenden Zeile "Telefon:..." und im zweiten Schritt dann falls ein Eintrag fehlt, die Matrikelnummer und/oder Telefon entsprechend der Struktur (Name, Matrikelnummer, Telefon)ergänzen.
Ich hoffe, Ihr könnt mir helfen. Ich studiere leider nicht Informatik und stehe daher am meisten bei der IF-Abfrage mit Zelle + 1 = Matrikelnummer und Zelle + 2 = Telefon sozusagen aufm Schlauch.
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Klaus M.vdT.
Geschrieben am: 15.08.2014 11:10:03
Hallo Gerriet,
Im Prinzip so:
Dim r As Range For Each r In Range("A1:A1000") If r.Value <> "" Then If Range("B" & r.Row) = "" Then 'Ergänze Telefonnummer End If If Range("C" & r.Row) = "" Then 'Ergänze Matrikelnummer End If Next rGrüße,
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Gerriet
Geschrieben am: 15.08.2014 12:03:10
Danke für die schnelle Antwort, aber alle Angaben befinden sich in der selben Spalte (A)bzw. die ganzen Einträge stehen in der Ursprungstabelle untereinander:
Optimalfall bzw. Soll-Zustand:
A1 = Name
A2 = Matrikelnummer
A3 = Telefon
Regelfall:
A4 = Name
A5 = Matrikelnummer
[Telefon fehlt]
A6 = Name
[Matrikelnummer fehlt]
A7 = Telefon
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Andreas Tissen
Geschrieben am: 15.08.2014 12:25:37
Hallo Gerriet,
sind Telefonnummer und Matrikelnummer als Zahl formatiert?
Gruß Andreas
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Andreas Tissen
Geschrieben am: 15.08.2014 12:29:54
... und kannst du mal beispielhaft Telefonnummer und Matrikelnummer aus deiner Excel-Liste zitieren? Man muss die beiden ja irgendwie auseinanderhalten können :-)
LG Andreas
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Gerriet
Geschrieben am: 15.08.2014 13:19:00
Hallo Andreas,
vielen Dank für deine Fragen. Also jede Zelle, die eine Telefonnummer enthält, beginnt erstmal mit Tel:
Bei den anderen Angaben Name und Matrikelnummer verhältlich sich das genauso.
Ein Beispiel ist (Zeichenkette exakt eingehalten):
(Zelle A1) Name: Max Mustermann
(Zelle A2) Matrikelnummer: 1234567
(Zelle A3) Telefon: (04921) 12345
Ist es möglich nur den "Zellenanfang", wie z.B. "Name: ", in dem Kombination mit den Anfängen der folgenden Zellen als Hilfe zu nutzen?
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Klaus M.vdT.
Geschrieben am: 15.08.2014 13:37:12
Hi Gerriet,
wenn ich dich richtig verstanden habe:
Sub Ergaenze() Const MySpalte As Long = 1 'in Spalte A Const AbZeile As Long = 1 'in Zeile 1 gehts los Dim lRow As Long Dim i As Long With ActiveSheet lRow = .Cells(.Rows.Count, MySpalte).End(xlUp).Row For i = lRow To AbZeile Step -1 If .Cells(i, MySpalte).Value Like "Name:*" Then If Not .Cells(i + 1, MySpalte).Value Like "Matrikelnummer:*" Then .Cells(i + 1, MySpalte).Insert Shift:=xlDown .Cells(i + 1, MySpalte).Value = "Matrikelnummer: " End If If Not .Cells(i + 2, MySpalte).Value Like "Telefon:*" Then .Cells(i + 2, MySpalte).Insert Shift:=xlDown .Cells(i + 2, MySpalte).Value = "Telefon: " End If End If Next i End With End SubDer Sinn dieses Tabellenaufbaus erschließt sich mir allerdings nicht.
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Andreas Tissen
Geschrieben am: 15.08.2014 14:02:52
Hallo Gerriet,
habe eine Lösung.
Kann die Datei nicht uploaden.
Schreib mich einfach auf atissen93@gmail.com an.
In der ersten Spalte fügst du deine Daten ein, Knopf drücken und in der 2. Tabelle findest du dann deine Tabelle.
lg Andreas
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Gerriet
Geschrieben am: 15.08.2014 14:13:15
Hallo Klaus,
vielen, vielen Dank! Ich finde den Aufbau auch ziemlisch schwachsinnig, aber nachdem der Code durchgelaufen ist, kann das nun richtig formatiert werden bzw. können die ganzen Anfänge entfernt werden.
![]() ![]() |
Betrifft: Danke für die Rückmeldung! owT.
von: Klaus M.vdT.
Geschrieben am: 15.08.2014 14:14:47
.
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Andreas Tissen
Geschrieben am: 15.08.2014 14:17:25
Jetzt geht's.
https://www.herber.de/bbs/user/92133.xlsm
Ist für ca. 2000 Zeilen programmiert. Musst ansonsten die Formeln runterziehen.
Die grauen Felder nicht ändern.
LG Andreas
![]() ![]() |
Betrifft: AW: Excel VBA - Zelle beschriftet einfügen mit if
von: Gerriet
Geschrieben am: 15.08.2014 15:39:39
Hallo Andreas,
die Lösung ist einfach Spitze! Perfekt!!! Besten Dank!
Ich danke Euch allen für Eure Hilfe und wünsche Euch ein schönes Wochenende
![]() |