Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mit Script Format der Schrift übernehmen

Mit Script Format der Schrift übernehmen
11.09.2005 09:34:16
Nicole
Hallo und Guten Morgen !
Ich habe folgende Frage an Euch:
Bei folgendem Script werden bei der Eingabe von Artikelnummern
in Zeile H im Blatt Rechnungen die Blätter Vorbereitung, Tabelle4 und
Tabelle3 nach dieser Artikelnummer durchsucht und dann in die
dazugehörige Zeile im Blatt Rechnungen eingefügt.
Hätte bei diesem Script vielleicht jemand eine Idee, dass bei der Suche
auch FETT gedruckte Schrift erkannt und auch so übernommen wird.
vielen Dank für Eure Mühe.
Sub Artikelsuchen()
Dim wks As Worksheet
Dim rng As Range
Dim iRowL As Integer, iRow As Integer
Dim tarWks As Worksheet
Set tarWks = Worksheets("Rechnung")
For Each wks In Sheets(Array("Vorbereitung", "Tabelle4", "Tabelle3"))
With wks
iRowL = tarWks.Cells(.Rows.Count, 8).End(xlUp).Row
For iRow = 8 To iRowL
If Not IsEmpty(tarWks.Cells(iRow, 8)) Then
Set rng = .Cells.Find(tarWks.Cells(iRow, 8), _
lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
tarWks.Cells(iRow, 2).Value = .Cells(rng.Row, 2).Value
tarWks.Cells(iRow, 3).Value = .Cells(rng.Row, 3).Value
tarWks.Cells(iRow, 4).Value = .Cells(rng.Row, 4).Value
End If
End If
Next iRow
End With
Gruß Nicole

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Script Format der Schrift übernehmen
11.09.2005 09:51:53
Nepumuk
Hallo Nicole,
wenn du keine aufwendigen Abfragen einbauen willst, dann kopiere doch einfach.
.Cells(rng.Row, 2).Copy tarWks.Cells(iRow, 2)
Gruß
Nepumuk

AW: Mit Script Format der Schrift übernehmen
11.09.2005 10:22:55
Nicole
Hallo Nepumuk
Zuerst Danke für Deine Antwort.
Leider komme ich damit nicht richtig zurecht
Ich hatte bei diesem Script leider schon mal dass
Problem, wenn man die Zeile:
tarWks.Cells(iRow, 2).Value = .Cells(rng.Row, 2).Value
in irgendeiner Form verändert vor allem ohne
"Value" veränder, dass dann immer nur Zeilen übernommen
werde, die nur 255 Zeichen haben auch bei Zellformat Standard.
Meine Kenntnisse im Umgang mit diesen Scripten sind nicht die Besten
Vielleicht könntest Du dass noch mit berücksichtigen, ich kann das leider
nicht anpassen.
Gruß Nicole
Anzeige
AW: Mit Script Format der Schrift übernehmen
11.09.2005 10:44:40
Franz
Hallo Nicole,
mit folgender Anpassung sollte auch die Übertragung des FETT-Schrift von der Ursprungszelle auf die Zielzelle übertragen werden. Um Code-Wiederholungen zu vemeiden hab ich alles in eine kleine Schleife gepackt.
          If Not rng Is Nothing Then
For iSpalte = 2 To 4
tarWks.Cells(iRow, iSpalte).Value = .Cells(rng.Row, iSpalte).Value
If .Cells(rng.Row, iSpalte).Font.Bold = True Then
tarWks.Cells(iRow, iSpalte).Font.Bold = True
Else
tarWks.Cells(iRow, iSpalte).Font.Bold = False
End If
Next iSpalte
End If

Gruß
Franz
Anzeige
AW:Nachfrage an Franz trotzdem schonmal Danke
11.09.2005 11:05:18
Nicole
Hallo Franz
Vielen Dank das klappt schon mal für die ganze Zelle sehr gut.
Ist es denn vielleicht auch für einzelne Wörter innerhalb der
Zelle möglich.
Ich weiß: manche sind nie zufrieden ;-))
Gruß Nicole
AW: AW:Nachfrage an Franz trotzdem schonmal Danke
11.09.2005 13:05:46
Franz
Hallo Nicole,
jetzt hat mich doch der Ehrgeiz gepackt und es geht tatsächlich. Ich hoffe, ich habe alles korrekt mit den Variablen-Namen in der Prozedur umgesetzt.

If Not rng Is Nothing Then
For iSpalte = 2 To 4
tarWks.Cells(iRow, iSpalte).Value = .Cells(rng.Row, iSpalte).Value
If .Cells(rng.Row, iSpalte).Font.Bold = True Then
tarWks.Cells(iRow, iSpalte).Font.Bold = True
Else
tarWks.Cells(iRow, iSpalte).Font.Bold = False
' Fetten Text im Inhalt bestimmen und in Zielzelle formatieren
iFettStart = 0
iFettEnde = 0
I = 0
Do Until I = Len(.Cells(rng.Row, iSpalte).Value)
I = I + 1
If iFettStart = 0 And .Cells(rng.Row, iSpalte).Characters(Start:=I, Length:=1).Font.FontStyle = "Fett" Then
iFettStart = I
Else
If iFettStart > 0 And .Cells(rng.Row, iSpalte).Characters(Start:=I, Length:=1).Font.FontStyle <> "Fett" Then
iFettEnde = I
tarWks.Cells(iRow, iSpalte).Characters(Start:=iFettStart, Length:=iFettEnde - iFettStart).Font.FontStyle = "Fett"
iFettStart = 0
iFettEnde = 0
End If
End If
Loop
If iFettStart > 0 And iFettEnde = 0 Then 'Text ist bis zum Ende Fett
tarWks.Cells(iRow, iSpalte).Characters(Start:=iFettStart, Length:=I + 1 - iFettStart).Font.FontStyle = "Fett"
End If
End If
Next iSpalte
End If

Gruß
Franz
Anzeige
DANKE! Klappt Super !!
11.09.2005 16:25:10
Nicole
Hallo Franz!
Tut mir leid dass ich mich erst jetzt bedanken kann.
Dass Klappt wirklich gut.
Hast mich wieder ein Stück weiter gebracht und mir weitere
Arbeit beim Rechnungen schreiben erleichter.
Vielen, viele Dank für den intensiven Arbeitsensatz
Gruß Nicole

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige