[VBA / Excel2003] combine cells

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Jericho NutS
  • Registratie: Februari 2008
  • Laatst online: 01-12-2024
Dag,
Bedoeling is om 2 cellen te combineren in een 3de en de opmaak van de individuele cellen te behouden in de 3de cel
Ik krijg met volgende code een error: object required op lijn 13
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub test()

Dim i As Integer
Dim rngFrom1 As Range
Dim rngFrom2 As Range
Dim rngTo As Range
Dim lenFrom1 As Integer
Dim lenFrom2 As Integer

Set rngFrom1 = Cells(1, 1)
Set rngFrom2 = Cells(1, 2)
Set rngTo = Cells(1, 3)
Set lenFrom1 = rngFrom1.Characters.Count
Set lenFrom2 = rngFrom2.Characters.Count

rngTo.Value = rngFrom1.Text & rngFrom2.Text 

For i = 1 To lenFrom1 
    With rngTo.Characters(i, 1).Font
    .Name = rngFrom1.Characters(i, 1).Font.Name
    .Bold = rngFrom1.Characters(i, 1).Font.Bold
    .Size = rngFrom2.Characters(i, 1).Font.Size 
    .ColorIndex = rngFrom1.Characters(i, 1).Font.ColorIndex
    End With
Next i

For i = 1 To lenFrom2 
    With rngTo.Characters(lenFrom1 + i, 1).Font 
    .Name = rngFrom2.Characters(i, 1).Font.Name 
    .Bold = rngFrom2.Characters(i, 1).Font.Bold 
    .Size = rngFrom2.Characters(i, 1).Font.Size 
    .ColorIndex = rngFrom2.Characters(i, 1).Font.ColorIndex 
    End With
Next i

End Sub


Wat gaat er mis?

I7 920 D0 @ 4,0 / Asus P6T Deluxe V2 / 3x2 GB OCZ Gold @ 1600 C8 / HD5770 1 GB Sapphire / 2x Spinpoint F3 1TB (raid1) / Scythe Mugen 2 / Antec 300 / CM real power 620M / Dell 2408


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Set kun je niet gebruiken voor Integers (is voor objecten), dus kun je beter weghalen.. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Jericho NutS
  • Registratie: Februari 2008
  • Laatst online: 01-12-2024
"Set" verwijderen uit lijn 13 en 14 zorgt voor deze melding:
Runtime error 348
Object doesn't support this property or method

Andere mogelijkheden?

I7 920 D0 @ 4,0 / Asus P6T Deluxe V2 / 3x2 GB OCZ Gold @ 1600 C8 / HD5770 1 GB Sapphire / 2x Spinpoint F3 1TB (raid1) / Scythe Mugen 2 / Antec 300 / CM real power 620M / Dell 2408


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Zijn de cellen gevuld met tekst of met andere waarden (numerieke waarden, datums, formules)?

[ Voor 204% gewijzigd door Lustucru op 08-11-2011 22:20 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Jericho NutS
  • Registratie: Februari 2008
  • Laatst online: 01-12-2024
Zuiver tekst

I7 920 D0 @ 4,0 / Asus P6T Deluxe V2 / 3x2 GB OCZ Gold @ 1600 C8 / HD5770 1 GB Sapphire / 2x Spinpoint F3 1TB (raid1) / Scythe Mugen 2 / Antec 300 / CM real power 620M / Dell 2408


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Het gekke is dat dit onder Excel 2007 gewoon werkt als het echt om tekst gaat in A1 en B1. 2003 heb ik niet meer....

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Ook in XL2003 werkt het...

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Jericho NutS
  • Registratie: Februari 2008
  • Laatst online: 01-12-2024
Dit is zeer vreemd dat het bij jou wel werkt want bij mij wil hij dit niet doen dus waarschijnlijk zie ik nog iets over het hoofd

Afbeeldingslocatie: http://i40.tinypic.com/20t2fsy.jpg

Iemand een tip?

I7 920 D0 @ 4,0 / Asus P6T Deluxe V2 / 3x2 GB OCZ Gold @ 1600 C8 / HD5770 1 GB Sapphire / 2x Spinpoint F3 1TB (raid1) / Scythe Mugen 2 / Antec 300 / CM real power 620M / Dell 2408


Acties:
  • 0 Henk 'm!

Verwijderd

Het zou helpen als je zou kunnen aangeven op welke regel je die foutmelding krijgt...

Acties:
  • 0 Henk 'm!

  • Morphogenesis
  • Registratie: Juni 2009
  • Laatst online: 05-09 06:15
Verwijderd schreef op woensdag 09 november 2011 @ 10:18:
Het zou helpen als je zou kunnen aangeven op welke regel je die foutmelding krijgt...
Staat in de OP ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Ja, maar die regel is inmiddels aangepast in de code in het screenshot...

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Idd. Dus graag (bijv m.b.v. F8) een regelnummer.

Anyway, regel22 heeft een copypastefoutje die er voor zorgt dat het fout gaat bij een te korte string *. Maar je voorbeeld heeft gelijke strings dus dat is het niet.

De code werkt ook in OFF2010 trouwens prima met een testje.

offtopic:
* Dat in tegenstelling tot mooie dames op het strand, dan is een te korte string nooit fout :+

[ Voor 9% gewijzigd door F_J_K op 09-11-2011 11:14 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Jericho NutS
  • Registratie: Februari 2008
  • Laatst online: 01-12-2024
Foutmelding is op regel 16
code:
1
rngTo.Value = rngFrom1.Text & rngFrom2.Text 


Verander ik

code:
1
2
3
'rngTo.Value = rngFrom1.Text & rngFrom2.Text 
'Door
Cells(1, 3) = Cells(1, 1) & Cells(1, 2)


Dan werkt het!
Iemand die een reden kan bedenken waarom rngTo.Value = rngFrom1.Text &... bij jullie werkt en bij mij niet?

[ Voor 58% gewijzigd door Jericho NutS op 09-11-2011 11:46 ]

I7 920 D0 @ 4,0 / Asus P6T Deluxe V2 / 3x2 GB OCZ Gold @ 1600 C8 / HD5770 1 GB Sapphire / 2x Spinpoint F3 1TB (raid1) / Scythe Mugen 2 / Antec 300 / CM real power 620M / Dell 2408


Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 23:07

Reptile209

- gers -

Range.Value get of set een numerieke waarde in een cel. Range.Text get of set een tekst. In regel 16 probeer je een tekst toe te wijzen aan een waarde. In je alternatieve code laat je het VBA zelf uitzoeken, en gaat het wel goed :).

Probeer dus eens:
Visual Basic .NET:
16
rngTo.Text = rngFrom1.Text & rngFrom2.Text 

Zo scherp als een voetbal!

Pagina: 1