Excel 2000 Formel möglich

  • #1
B

bergfranke

Bekanntes Mitglied
Themenersteller
Dabei seit
19.01.2002
Beiträge
2.313
Reaktionspunkte
0
Ort
Rhön/Thüringen
Frage mal ob es möglich ist.
Habe eine Excelmappe mit einigen Blättern.
In Blatt 2 sind in Spalte C Zahlen und in Spalte H dazu Adressen.
Im Blatt 7 sind die Zahlen in Spalte D vorhanden, aber in anderer Reihenfolge und z.T. auch Doppelt vohanden. Ist es möglich per Formel auch in Blatt 7 dann in Spalte J die Adressen aus Blatt 2 zuzuordnen.
Weiter ist es möglich Blatt 7 mit den Adressen aber ohne die Formel in eine andere Mappe zu kopieren.
Wäre für eine Lösung dankbar.

gruss clasaf
 
  • #2
Hallo Clasaf,

mit SVerweis könnte man das gut hinbekommen. SVerweis benötigt aber einen eindeutige Nummer, sonst gibt es immer die erste Fundstelle zurück.

Sind die Zahlen auf Blatt 2 in Spalte C eindeutig ? Wenn nein müßte man noch eine eindeutige lfdNr auf Blatt 2 einführen.

Zum Kopieren:
a) Blatt mit Formeln kopieren
b) im kopierten Blatt Inhalt kopieren
c) Zelle A1 selektieren und Inhale einfügen -> Werte
Dann sind die Formeln weg.

Gruß Matjes :)
 
  • #3
Hallo Mattjes
Danke für die Antwort
Um es noch mal zu verdeutlichen, die Zahlen in den ersten genannten Spalten sind die Hausnummern (Zahlen) von 1 - 310, die andere Spalte die heutige Adresse in der Form : (heutiger Name) Straße, Hausnummer.
In Blatt 2 soll also bei der gleichen Hausnummer in dieser Zeile auch die entsprechende Adresse erscheinen. In Blatt 1 erscheint zwar hin und wieder mal z.B. 10a und 10b, aber nicht in Blatt 2. Wenn nötig, kann ich auch Blatt 1 auf ein anderes Blatt kopieren, und dort a und b sowie eine Nummer dazu löschen, dass nur eine Nummer und eine Adresse vorhanden ist.

gruss clasaf
edit

Muss noch dazu sagen, dass in der Zahlenspalte auf Blatt 1 auch leere Zellen und Buchstaben wie o.Nr. vorkommen. Könnte dass aber, wie oben gesagt entfernen,
 
  • #5
Schönen Dank für Deine Mühen
Komme aber mit den 3 Spalten nicht hin.
Versuch es noch mal hinzubekommen
Blatt 1 = Hausnr. Spalte B = Hausnr. 1 2 ......10a 10b....14 usw
Spalte H = Adresse Adr.1 Adr.2 .......................
Die anderen Spalten sind ebenfalls belegt
Blatt2 = Berufe2 Spalte B = Nr. 8 30............4.............28
Spalte J = Häuser soll mit den entsprechenden Adressen gefüllt werden.
Die anderen Spalten sind ebenfalls belegt
Hoffe, dass ich es plausibel machen konnte.
Schicke dir per PM meine Mailadresse. Da könntest Du die Tabelle direkt schicken.
gruss clasaf
 
  • #6
Matjes hat mir mitkerweile ein Makro gemacht un hat einwanfrei geklappt.
Schönen Dank
gruss clasaf
 
  • #7
Für die Vollständigkeit das Makro:
Code:
Option Explicit

Private Const c_BLTNAME_ADRESSEN = Blatt1 (HausNr.)
Private Const c_SP_HNR1906bis1913 = 3 ->Spalte C
Private Const c_ZANF_HNR1906bis1913 = 2->Ab Zeile 2
Private Const c_SP_ADR = 8      ->Spalte H

Private Const c_BLTNAME_BEFRUFE2 = Blatt2 ( Berufe2 )
Private Const c_SP_HNR = 2      ->Spalte B
Private Const c_ZANF_HNR = 2     ->Ab Zeile 2
Private Const c_KZ_OHNE_HNR = o.Nr
Private Const c_SP_HAEUSER = 10    ->Spalte J

Private Const c_ERR_HNR_NICHT_GEFUNDEN = ### HNR NICHT GEFUNDEN ###


Sub AdrEntsprHnrEintragen()

 Dim wb As Workbook, wsAdr As Worksheet, wsBerufe2 As Worksheet
 Dim fHnr() As String
 Dim sTmp As String
 Dim x As Long, z As Long, lLetzteZeile As Long, lInd As Long
 
->Blätter setzen
 On Error Resume Next
 Set wb = ActiveWorkbook
 Set wsAdr = wb.Worksheets(c_BLTNAME_ADRESSEN)
 If wsAdr Is Nothing Then MsgBox Blatt-> & c_BLTNAME_ADRESSEN &-> ist in aktiver Mappe nicht vorhanden.: Err.Clear: GoTo AUFRAEUMEN
 Set wsBerufe2 = wb.Worksheets(c_BLTNAME_BEFRUFE2)
 If wsBerufe2 Is Nothing Then MsgBox Blatt-> & c_BLTNAME_BEFRUFE2 &-> ist in aktiver Mappe nicht vorhanden.: Err.Clear: GoTo AUFRAEUMEN
 On Error GoTo 0
 
->Hausnummern einlesen und zu String konvertieren
 lLetzteZeile = wsAdr.Cells(wsAdr.Rows.Count, c_SP_HNR1906bis1913).End(xlUp).Row
 ReDim fHnr(c_ZANF_HNR1906bis1913 To lLetzteZeile)
 For z = c_ZANF_HNR1906bis1913 To lLetzteZeile
  sTmp = wsAdr.Cells(z, c_SP_HNR1906bis1913).Value
  fHnr(z) = Trim(sTmp)
 Next
 
->Hausnummer auf Blatt Berufe lesen und in gemerkten HNr suchen.
->Bei erstem Fund: aus entsprechender Zeile Adr in Spalte Haeuser übertragen
->kein Fund: Text in Spalte Haeuser ### HNR NICHT GEFUNDEN ###
 
 lLetzteZeile = wsBerufe2.Cells(wsBerufe2.Rows.Count, c_SP_HNR).End(xlUp).Row
 For x = c_ZANF_HNR To lLetzteZeile
  sTmp = wsBerufe2.Cells(x, c_SP_HNR).Value
  sTmp = Trim(sTmp)
  lInd = 0
  For z = LBound(fHnr()) To UBound(fHnr())
   If fHnr(z) = sTmp Then lInd = z: Exit For
  Next
  With wsBerufe2.Cells(x, c_SP_HAEUSER)
   If lInd = 0 Then
    If sTmp = c_KZ_OHNE_HNR Then
     .Value = 
    Else
     .Value = c_ERR_HNR_NICHT_GEFUNDEN
    End If
   Else
    sTmp = wsAdr.Cells(lInd, c_SP_ADR).Value
    .Value = sTmp
   End If
  End With
 Next
 
AUFRAEUMEN:
 Set wb = Nothing: Set wsAdr = Nothing: Set wsBerufe2 = Nothing
End Sub
Gruß Matjes :)
 
Thema:

Excel 2000 Formel möglich

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben